/** * Test the type of the statement and return the proxy of it. */ protected Statement proxyOf(Statement stmt) { if (stmt instanceof PreparedStatement) { return proxyOfPreparedStatement((PreparedStatement) stmt, null); } if (stmt instanceof CallableStatement) { return proxyOfCallableStatement((CallableStatement) stmt, null); } return proxyOfStatement(stmt); }
@Override public void commit() throws SQLException { transactionState = TRANSACTION_STATE_COMMIT; super.commit(); }
protected void endExecute() { lastExecutingDurationMs = System.currentTimeMillis() - lastExecutingTime; lastExecutingTime = -1; conn.endExecuteStatement(this); }
@Override public final PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException { return proxyOfPreparedStatement(conn.prepareStatement(sql, resultSetType, resultSetConcurrency, resultSetHoldability), sql); }
@Override public final Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException { return proxyOfStatement(conn.createStatement(resultSetType, resultSetConcurrency)); }
@Override public final CallableStatement prepareCall(String sql) throws SQLException { return proxyOfCallableStatement(conn.prepareCall(sql), sql); }
ConnectionProxy.disabledPrintThreadDump(); DbSchema schema = metadataReader.readSchema(conn, catalog, theSchemaName); cachedSchemas.put(key, schema); return schema; } finally { ConnectionProxy.resetPrintThreadDump();
public StackTraceElement[] getStackTraceOnOpen() { return null == stackTraceExceptionOnOpen ? null : getStackTrace(stackTraceExceptionOnOpen); }
public MConnectionProxy(MDataSourceProxy ds, Connection conn) { super(conn, conn instanceof ConnectionProxy ? !((ConnectionProxy) conn).hasStackTraceOnOpen() : true); this.ds = ds; this.openTime = System.currentTimeMillis(); }
@Override public final StackTraceElement[] getStackTraceOnOpen() { return hasStackTraceOnOpen() ? super.getStackTraceOnOpen() : ((ConnectionProxy)conn).getStackTraceOnOpen(); }
@Override public final void close() throws SQLException { if(closed) { log.warn("Invalid state, the proxy statement already closed", new Exception("Statement already closed")); return; } this.closed = true; conn.closeStatement(this); }
@Override public final PreparedStatement prepareStatement(String sql) throws SQLException { return proxyOfPreparedStatement(conn.prepareStatement(sql), sql); }
@Override public final Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException { return proxyOfStatement(conn.createStatement(resultSetType, resultSetConcurrency, resultSetHoldability)); }
@Override public final CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException { return proxyOfCallableStatement(conn.prepareCall(sql, resultSetType, resultSetConcurrency), sql); }
public StackTraceElement[] getStackTraceOnOpen() { return conn.getStackTrace(stackTraceException); }
@Override public final PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException { return proxyOfPreparedStatement(conn.prepareStatement(sql, autoGeneratedKeys), sql); }
@Override public final Statement createStatement() throws SQLException { return proxyOfStatement(conn.createStatement()); }
@Override public final CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException { return proxyOfCallableStatement(conn.prepareCall(sql, resultSetType, resultSetConcurrency, resultSetHoldability), sql); }
@Override public final PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException { return proxyOfPreparedStatement(conn.prepareStatement(sql, columnIndexes), sql); }
@Override protected StatementProxy proxyOfStatement(Statement stmt) { setupStatement(stmt); StatementProxy proxy = super.proxyOfStatement(stmt); statements.add(proxy); return proxy; }