public synchronized CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException { CallableStatement stmt;  if (resultSetHoldability == FirebirdResultSet.HOLD_CURSORS_OVER_COMMIT && resultSetType == ResultSet.TYPE_FORWARD_ONLY) {  addWarning(new FBSQLWarning("Holdable result set must be scrollable.")); resultSetType = ResultSet.TYPE_SCROLL_INSENSITIVE; }  if (resultSetType == ResultSet.TYPE_SCROLL_SENSITIVE) { addWarning(new FBSQLWarning("Scroll-sensitive result sets are not supported.")); resultSetType = ResultSet.TYPE_SCROLL_INSENSITIVE; }  if (resultSetConcurrency != ResultSet.CONCUR_READ_ONLY) { addWarning(new FBSQLWarning( "Updatable result sets from stored procedures are not supported.")); resultSetConcurrency = ResultSet.CONCUR_READ_ONLY; }  checkHoldability(resultSetType, resultSetHoldability);  try { stmt = FBStatementFactory.createCallableStatement(getGDSHelper(), sql, resultSetType, resultSetConcurrency, resultSetHoldability, txCoordinator, txCoordinator); activeStatements.add(stmt); return stmt; } catch(GDSException ex) { throw new FBSQLException(ex); }
public synchronized CallableStatement prepareCall(String sql) throws SQLException { return prepareCall(sql, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
    public synchronized CallableStatement prepareCall(String sql,         int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException     {        CallableStatement stmt;                if (resultSetHoldability == FirebirdResultSet.HOLD_CURSORS_OVER_COMMIT &&                 resultSetType == ResultSet.TYPE_FORWARD_ONLY) {            addWarning(new FBSQLWarning("Holdable result set must be scrollable."));            resultSetType = ResultSet.TYPE_SCROLL_INSENSITIVE;        }        		if (resultSetType == ResultSet.TYPE_SCROLL_SENSITIVE)		{            addWarning(new FBSQLWarning("Scroll-sensitive result sets are not supported."));            resultSetType = ResultSet.TYPE_SCROLL_INSENSITIVE;        }                if (resultSetConcurrency != ResultSet.CONCUR_READ_ONLY) {            addWarning(new FBSQLWarning(                "Updatable result sets from stored procedures are not supported."));            resultSetConcurrency = ResultSet.CONCUR_READ_ONLY;        }	        checkHoldability(resultSetType, resultSetHoldability);                try {            stmt = FBStatementFactory.createCallableStatement(getGDSHelper(), sql, resultSetType,                    resultSetConcurrency, resultSetHoldability, txCoordinator, txCoordinator);            activeStatements.add(stmt);            return stmt;        } catch(GDSException ex) {            throw new FBSQLException(ex);        }    }