java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/AbstractConnection.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!“

/**
 * SQL-DK
 * Copyright © 2014 František Kučera (frantovo.cz)
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 */
package info.globalcode.jdbc.loopback;

import java.sql.Array;
import java.sql.Blob;
import java.sql.CallableStatement;
import java.sql.Clob;
import java.sql.DatabaseMetaData;
import java.sql.NClob;
import java.sql.SQLClientInfoException;
import java.sql.SQLException;
import java.sql.SQLWarning;
import java.sql.SQLXML;
import java.sql.Savepoint;
import java.sql.Struct;
import java.util.Map;
import java.util.Properties;
import java.util.concurrent.Executor;

/**
 *
 * @author Ing. František Kučera (frantovo.cz)
 */
public abstract class AbstractConnection implements java.sql.Connection {

	@Override
	public java.sql.Statement createStatement() throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public java.sql.PreparedStatement prepareStatement(String sql) throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public CallableStatement prepareCall(String sql) throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public String nativeSQL(String sql) throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public void setAutoCommit(boolean autoCommit) throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public boolean getAutoCommit() throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public void commit() throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public void rollback() throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public void close() throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public boolean isClosed() throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public DatabaseMetaData getMetaData() throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public void setReadOnly(boolean readOnly) throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public boolean isReadOnly() throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public void setCatalog(String catalog) throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public String getCatalog() throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public void setTransactionIsolation(int level) throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public int getTransactionIsolation() throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public SQLWarning getWarnings() throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public void clearWarnings() throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public java.sql.Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public Map<String, Class<?>> getTypeMap() throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public void setTypeMap(Map<String, Class<?>> map) throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public void setHoldability(int holdability) throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public int getHoldability() throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public Savepoint setSavepoint() throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public Savepoint setSavepoint(String name) throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public void rollback(Savepoint savepoint) throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public void releaseSavepoint(Savepoint savepoint) throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public java.sql.Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public Clob createClob() throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public Blob createBlob() throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public NClob createNClob() throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public SQLXML createSQLXML() throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public boolean isValid(int timeout) throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public void setClientInfo(String name, String value) throws SQLClientInfoException {
		throw new SQLClientInfoException("Not supported yet.", null);
	}

	@Override
	public void setClientInfo(Properties properties) throws SQLClientInfoException {
		throw new SQLClientInfoException("Not supported yet.", null);
	}

	@Override
	public String getClientInfo(String name) throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public Properties getClientInfo() throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public Array createArrayOf(String typeName, Object[] elements) throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public Struct createStruct(String typeName, Object[] attributes) throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public void setSchema(String schema) throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public String getSchema() throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public void abort(Executor executor) throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public int getNetworkTimeout() throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public <T> T unwrap(Class<T> iface) throws SQLException {
		throw new SQLException("Not supported yet.");
	}

	@Override
	public boolean isWrapperFor(Class<?> iface) throws SQLException {
		throw new SQLException("Not supported yet.");
	}
}