private void getParams(ArrayList<Pair<Attribute, Object>> params, Condition condition, Object[] objs) { if (condition.op == Op.SC) { assert (objs != null && objs.length > 0) : " Where's your search criteria object? " + condition.name; params.addAll(((SearchCriteria<?>)objs[0]).getValues()); return; } if (objs != null && objs.length > 0) { for (Object obj : objs) { if ((condition.op != Op.EQ && condition.op != Op.NEQ) || (obj != null)) { params.add(new Pair<Attribute, Object>(condition.attr, obj)); } } } }
@Override public int expunge(final SearchCriteria<T> sc) { if (sc == null) { throw new CloudRuntimeException("Call to throw new expunge with null search Criteria"); } final StringBuilder str = new StringBuilder("DELETE FROM "); str.append(_table); str.append(" WHERE "); if (sc != null && sc.getWhereClause().length() > 0) { str.append(sc.getWhereClause()); } final String sql = str.toString(); final TransactionLegacy txn = TransactionLegacy.currentTxn(); PreparedStatement pstmt = null; try { pstmt = txn.prepareAutoCloseStatement(sql); int i = 0; for (final Pair<Attribute, Object> value : sc.getValues()) { prepareAttribute(++i, pstmt, value.first(), value.second()); } return pstmt.executeUpdate(); } catch (final SQLException e) { throw new CloudRuntimeException("DB Exception on: " + pstmt, e); } catch (final Throwable e) { throw new CloudRuntimeException("Caught: " + pstmt, e); } }
int i = 1; if (clause != null) { for (final Pair<Attribute, Object> value : sc.getValues()) { prepareAttribute(i++, pstmt, value.first(), value.second());
int i = 1; if (clause != null) { for (final Pair<Attribute, Object> value : sc.getValues()) { prepareAttribute(i++, pstmt, value.first(), value.second());
int i = 1; if (clause != null) { for (final Pair<Attribute, Object> value : sc.getValues()) { prepareAttribute(i++, pstmt, value.first(), value.second());
for (Pair<Attribute, Object> value : sc.getValues()) { prepareAttribute(i++, pstmt, value.first(), value.second());
@DB() protected int addJoinAttributes(int count, PreparedStatement pstmt, Collection<JoinBuilder<SearchCriteria<?>>> joins) throws SQLException { for (JoinBuilder<SearchCriteria<?>> join : joins) { for (final Pair<Attribute, Object> value : join.getT().getValues()) { prepareAttribute(count++, pstmt, value.first(), value.second()); } } for (JoinBuilder<SearchCriteria<?>> join : joins) { if (join.getT().getJoins() != null) { count = addJoinAttributes(count, pstmt, join.getT().getJoins()); } } if (s_logger.isTraceEnabled()) { s_logger.trace("join search statement is " + pstmt); } return count; }
int i = 1; if (clause != null) { for (final Pair<Attribute, Object> value : sc.getValues()) { prepareAttribute(i++, pstmt, value.first(), value.second());
int i = 1; if (clause != null) { for (final Pair<Attribute, Object> value : sc.getValues()) { prepareAttribute(i++, pstmt, value.first(), value.second());
private void getParams(final ArrayList<Pair<Attribute, Object>> params, final Condition condition, final Object[] objs) { if (condition.op == Op.SC) { assert (objs != null && objs.length > 0) : " Where's your search criteria object? " + condition.name; params.addAll(((SearchCriteria<?>) objs[0]).getValues()); return; } if (objs != null && objs.length > 0) { for (final Object obj : objs) { if ((condition.op != Op.EQ && condition.op != Op.NEQ) || (obj != null)) { params.add(new Pair<>(condition.attr, obj)); } } } }
@Override public int expunge(final SearchCriteria<T> sc) { if (sc == null) { throw new CloudRuntimeException("Call to throw new expunge with null search Criteria"); } final StringBuilder str = new StringBuilder("DELETE FROM "); str.append(_table); str.append(" WHERE "); if (sc != null && sc.getWhereClause().length() > 0) { str.append(sc.getWhereClause()); } final String sql = str.toString(); final TransactionLegacy txn = TransactionLegacy.currentTxn(); PreparedStatement pstmt = null; try { pstmt = txn.prepareAutoCloseStatement(sql); int i = 0; for (final Pair<Attribute, Object> value : sc.getValues()) { prepareAttribute(++i, pstmt, value.first(), value.second()); } return pstmt.executeUpdate(); } catch (final SQLException e) { throw new CloudRuntimeException("DB Exception on: " + pstmt, e); } }
private Integer createPreparedStatementForCount(final SearchCriteria<T> sc, final String clause, final Collection<JoinBuilder<SearchCriteria<?>>> joins, final TransactionLegacy txn, final String sql) { PreparedStatement pstmt = null; try { pstmt = txn.prepareAutoCloseStatement(sql); int i = 1; if (clause != null) { for (final Pair<Attribute, Object> value : sc.getValues()) { prepareAttribute(i++, pstmt, value.first(), value.second()); } } if (joins != null) { i = addJoinAttributes(i, pstmt, joins); } final ResultSet rs = pstmt.executeQuery(); while (rs.next()) { return rs.getInt(1); } return 0; } catch (final SQLException e) { throw new CloudRuntimeException("DB Exception on: " + pstmt, e); } }
int i = 1; if (clause != null) { for (final Pair<Attribute, Object> value : sc.getValues()) { prepareAttribute(i++, pstmt, value.first(), value.second());
@DB() protected int addJoinAttributes(int count, final PreparedStatement pstmt, final Collection<JoinBuilder<SearchCriteria<?>>> joins) throws SQLException { for (final JoinBuilder<SearchCriteria<?>> join : joins) { for (final Pair<Attribute, Object> value : join.getT().getValues()) { prepareAttribute(count++, pstmt, value.first(), value.second()); } } for (final JoinBuilder<SearchCriteria<?>> join : joins) { if (join.getT().getJoins() != null) { count = addJoinAttributes(count, pstmt, join.getT().getJoins()); } } if (s_logger.isTraceEnabled()) { s_logger.trace("join search statement is " + pstmt); } return count; }
for (final Pair<Attribute, Object> value : sc.getValues()) { prepareAttribute(i++, pstmt, value.first(), value.second());
int i = 1; if (clause != null) { for (final Pair<Attribute, Object> value : sc.getValues()) { prepareAttribute(i++, pstmt, value.first(), value.second());