/** * Same as the overloaded registerQuery, but overrides the query for a specific DBType. * @param key Unique identifier representing this query * @param sql The query that will be stored * @param dbType Override the query for this DBType. * If this value is null, it is the same as <code>registerQuery(key, sql)</code> */ public static RegisteredSQLString registerQuery(String key, String sql, DBType dbType) { if (dbType == null) { return registerQuery(key, sql); } SQLString sqlString = new SQLString(key, sql, dbType); ConcurrentMap<DBType, FinalSQLString> newHash = new ConcurrentHashMap<DBType, FinalSQLString>(); ConcurrentMap<DBType, FinalSQLString> dbTypeHash = registeredValuesOverride.putIfAbsent(key, newHash); if (null == dbTypeHash) { dbTypeHash = newHash; } FinalSQLString newVal = new FinalSQLString(sqlString); FinalSQLString oldVal = dbTypeHash.put(dbType, newVal); assert null == oldVal || newVal.delegate.equals(oldVal.delegate) : "newVal: " + newVal + " oldVal: " + oldVal; //$NON-NLS-1$ //$NON-NLS-2$ return new RegisteredSQLString(sqlString); }
void updateMany(Connection c, RegisteredSQLString sql) throws PalantirSqlException { updateMany(c, sql.getKey(), ImmutableList.<Object[]> of()); }
public static RegisteredSQLString getRegisteredQueryByKey(FinalSQLString key) { return new RegisteredSQLString(key.delegate); }
boolean update(Connection c, RegisteredSQLString sql, Object... vs) throws PalantirSqlException { return update(c, sql.getKey(), vs); }
@Override public void updateMany(RegisteredSQLString sql) throws PalantirSqlException { sqlConnectionHelper.updateMany(c, sql.getKey()); }
@Override public int insertOneCountRows(RegisteredSQLString sql, Object... vs) throws PalantirSqlException { return sqlConnectionHelper.insertOneCountRows(c, sql.getKey(), vs); }
void updateMany(Connection c, RegisteredSQLString sql, Iterable<Object[]> list) throws PalantirSqlException { updateMany(c, sql.getKey(), list); }
int updateCountRows(Connection c, RegisteredSQLString sql, Object... vs) throws PalantirSqlException { return updateCountRows(c, sql.getKey(), vs); }
@Override public boolean update(RegisteredSQLString sql, Object... vs) throws PalantirSqlException { return sqlConnectionHelper.update(c, sql.getKey(), vs); }
@Override public int executeCountRows(RegisteredSQLString sql, Object... vs) throws PalantirSqlException { return sqlConnectionHelper.executeCountRows(c, sql.getKey(), vs); }
@Override public PreparedStatement execute(RegisteredSQLString sql, Object... vs) throws PalantirSqlException { return sqlConnectionHelper.execute(c, sql.getKey(), vs); }
int insertOneCountRows(Connection c, RegisteredSQLString sql, Object... vs) throws PalantirSqlException { return insertOneCountRows(c, sql.getKey(), vs); }
@Override public boolean insertOne(RegisteredSQLString sql, Object... vs) throws PalantirSqlException { return sqlConnectionHelper.insertOne(c, sql.getKey(), vs); }
@Override public int updateCountRows(RegisteredSQLString sql, Object... vs) throws PalantirSqlException { return sqlConnectionHelper.updateCountRows(c, sql.getKey(), vs); }
boolean insertOne(Connection c, RegisteredSQLString sql, Object... vs) throws PalantirSqlException { return insertOne(c, sql.getKey(), vs); }
AgnosticResultSet selectResultSet(Connection c, RegisteredSQLString sql, Object... vs) throws PalantirSqlException, PalantirInterruptedException { return selectResultSet(c, sql.getKey(), vs); }
/** * Call this function to store a query to be used later with the given key. * @param key Unique identifier for this query * @param sql The query that will be stored */ public static RegisteredSQLString registerQuery(String key, String sql) { SQLString sqlString = new SQLString(key, sql, null); FinalSQLString newVal = new FinalSQLString(sqlString); FinalSQLString oldVal = registeredValues.put(key, newVal); assert null == oldVal || oldVal.delegate.equals(newVal.delegate) : "newVal: " + newVal + " oldVal: " + oldVal; //$NON-NLS-1$ //$NON-NLS-2$ return new RegisteredSQLString(sqlString); }
@Override public AgnosticLightResultSet selectLightResultSet(RegisteredSQLString sql, Object... vs) throws PalantirSqlException, PalantirInterruptedException { return sqlConnectionHelper.selectLightResultSet(c, sql.getKey(), vs); }
@Override public int selectInteger(RegisteredSQLString sql, Object... vs) throws PalantirSqlException, PalantirInterruptedException { return sqlConnectionHelper.selectInteger(c, sql.getKey(), vs); }
@Override public boolean insertMany(RegisteredSQLString sql, Iterable<Object[]> list) throws PalantirSqlException { return sqlConnectionHelper.insertMany(c, sql.getKey(), list); }