java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/Connection.java
author František Kučera <franta-hg@frantovo.cz>
Tue, 26 Feb 2019 18:19:49 +0100
branchv_0
changeset 236 a3ec71fa8e17
parent 171 701ec4db43fb
permissions -rw-r--r--
Avoid reusing/rewriting the DB connection properties.
There was weird random errors while testing connection to multiple DB in parallel when one of them was meta connection to same DB connection.
Two kinds of exception: 1) missing password 2) „Passing DB password as CLI parameter is insecure!“
franta-hg@171
     1
/**
franta-hg@171
     2
 * SQL-DK
franta-hg@171
     3
 * Copyright © 2014 František Kučera (frantovo.cz)
franta-hg@171
     4
 *
franta-hg@171
     5
 * This program is free software: you can redistribute it and/or modify
franta-hg@171
     6
 * it under the terms of the GNU General Public License as published by
franta-hg@171
     7
 * the Free Software Foundation, either version 3 of the License, or
franta-hg@171
     8
 * (at your option) any later version.
franta-hg@171
     9
 *
franta-hg@171
    10
 * This program is distributed in the hope that it will be useful,
franta-hg@171
    11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
franta-hg@171
    12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
franta-hg@171
    13
 * GNU General Public License for more details.
franta-hg@171
    14
 *
franta-hg@171
    15
 * You should have received a copy of the GNU General Public License
franta-hg@171
    16
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
franta-hg@171
    17
 */
franta-hg@171
    18
package info.globalcode.jdbc.loopback;
franta-hg@171
    19
franta-hg@171
    20
import java.sql.SQLClientInfoException;
franta-hg@171
    21
import java.sql.SQLException;
franta-hg@171
    22
import java.sql.SQLWarning;
franta-hg@171
    23
import java.sql.Savepoint;
franta-hg@171
    24
import java.util.Map;
franta-hg@171
    25
import java.util.Properties;
franta-hg@171
    26
import java.util.concurrent.Executor;
franta-hg@171
    27
franta-hg@171
    28
/**
franta-hg@171
    29
 *
franta-hg@171
    30
 * @author Ing. František Kučera (frantovo.cz)
franta-hg@171
    31
 */
franta-hg@171
    32
public class Connection extends AbstractConnection {
franta-hg@171
    33
franta-hg@171
    34
	private String url;
franta-hg@171
    35
	private Properties info;
franta-hg@171
    36
franta-hg@171
    37
	public Connection(String url, Properties info) {
franta-hg@171
    38
		this.url = url;
franta-hg@171
    39
		this.info = info;
franta-hg@171
    40
	}
franta-hg@171
    41
franta-hg@171
    42
	@Override
franta-hg@171
    43
	public java.sql.PreparedStatement prepareStatement(String sql) throws SQLException {
franta-hg@171
    44
		return new PreparedStatement();
franta-hg@171
    45
	}
franta-hg@171
    46
franta-hg@171
    47
	@Override
franta-hg@171
    48
	public void setAutoCommit(boolean autoCommit) throws SQLException {
franta-hg@171
    49
	}
franta-hg@171
    50
franta-hg@171
    51
	@Override
franta-hg@171
    52
	public boolean getAutoCommit() throws SQLException {
franta-hg@171
    53
		return true;
franta-hg@171
    54
	}
franta-hg@171
    55
franta-hg@171
    56
	@Override
franta-hg@171
    57
	public void commit() throws SQLException {
franta-hg@171
    58
	}
franta-hg@171
    59
franta-hg@171
    60
	@Override
franta-hg@171
    61
	public void rollback() throws SQLException {
franta-hg@171
    62
	}
franta-hg@171
    63
franta-hg@171
    64
	@Override
franta-hg@171
    65
	public void close() throws SQLException {
franta-hg@171
    66
	}
franta-hg@171
    67
franta-hg@171
    68
	@Override
franta-hg@171
    69
	public boolean isClosed() throws SQLException {
franta-hg@171
    70
		return false;
franta-hg@171
    71
	}
franta-hg@171
    72
franta-hg@171
    73
	@Override
franta-hg@171
    74
	public void setReadOnly(boolean readOnly) throws SQLException {
franta-hg@171
    75
	}
franta-hg@171
    76
franta-hg@171
    77
	@Override
franta-hg@171
    78
	public boolean isReadOnly() throws SQLException {
franta-hg@171
    79
		return true;
franta-hg@171
    80
	}
franta-hg@171
    81
franta-hg@171
    82
	@Override
franta-hg@171
    83
	public void setCatalog(String catalog) throws SQLException {
franta-hg@171
    84
	}
franta-hg@171
    85
franta-hg@171
    86
	@Override
franta-hg@171
    87
	public void setTransactionIsolation(int level) throws SQLException {
franta-hg@171
    88
	}
franta-hg@171
    89
franta-hg@171
    90
	@Override
franta-hg@171
    91
	public SQLWarning getWarnings() throws SQLException {
franta-hg@171
    92
		return null;
franta-hg@171
    93
	}
franta-hg@171
    94
franta-hg@171
    95
	@Override
franta-hg@171
    96
	public void clearWarnings() throws SQLException {
franta-hg@171
    97
	}
franta-hg@171
    98
franta-hg@171
    99
	@Override
franta-hg@171
   100
	public void setTypeMap(Map<String, Class<?>> map) throws SQLException {
franta-hg@171
   101
	}
franta-hg@171
   102
franta-hg@171
   103
	@Override
franta-hg@171
   104
	public void setHoldability(int holdability) throws SQLException {
franta-hg@171
   105
	}
franta-hg@171
   106
franta-hg@171
   107
	@Override
franta-hg@171
   108
	public void rollback(Savepoint savepoint) throws SQLException {
franta-hg@171
   109
	}
franta-hg@171
   110
franta-hg@171
   111
	@Override
franta-hg@171
   112
	public void releaseSavepoint(Savepoint savepoint) throws SQLException {
franta-hg@171
   113
	}
franta-hg@171
   114
franta-hg@171
   115
	@Override
franta-hg@171
   116
	public boolean isValid(int timeout) throws SQLException {
franta-hg@171
   117
		return true;
franta-hg@171
   118
	}
franta-hg@171
   119
franta-hg@171
   120
	@Override
franta-hg@171
   121
	public void setClientInfo(String name, String value) throws SQLClientInfoException {
franta-hg@171
   122
	}
franta-hg@171
   123
franta-hg@171
   124
	@Override
franta-hg@171
   125
	public void setClientInfo(Properties properties) throws SQLClientInfoException {
franta-hg@171
   126
	}
franta-hg@171
   127
franta-hg@171
   128
	@Override
franta-hg@171
   129
	public void abort(Executor executor) throws SQLException {
franta-hg@171
   130
	}
franta-hg@171
   131
franta-hg@171
   132
	@Override
franta-hg@171
   133
	public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException {
franta-hg@171
   134
	}
franta-hg@171
   135
}