protected ExpressionFactory getExpressionFactory(ClassMetaData meta) { JDBCExpressionFactory factory = new JDBCExpressionFactory((ClassMapping) meta); if (_store.getDBDictionary() instanceof PostgresDictionary) factory.setBooleanLiteralAsNumeric(false); return factory; }
public Expression bindValueVariable(Value var, Value val) { return bindVariable(var, val); }
public Expression asExpression(Value v) { return equal(v, newLiteral(Boolean.TRUE, Literal.TYPE_BOOLEAN)); }
public Value nullIfExpression(Value val1, Value val2) { val1 = getLiteralRawString(val1); val2 = getLiteralRawString(val2); return new NullIfExpression((Val) val1, (Val) val2); }
sel = ((JDBCExpressionFactory) facts[i]).getSelectConstructor(). evaluate(ctx, null, null, exps[i], states[i]); if (optHint != null)
public Expression equal(Value v1, Value v2) { // if we're comparing an unaccessed bound variable, like in: // coll.contains (var) && var == x, then translate into: // coll.contains (x) if (v1 instanceof PCPath && ((PCPath) v1).isUnaccessedVariable()) return contains(v1, v2); if (v2 instanceof PCPath && ((PCPath) v2).isUnaccessedVariable()) return contains(v2, v1); if (v1 instanceof Type || v2 instanceof Type) { Value val = v1 instanceof Type ? v1 : v2; verifyTypeOperation(val, null, false); return new EqualTypeExpression((Val) v1, (Val) v2); } return new EqualExpression((Val) v1, (Val) v2); }
public Value newBoundVariable(String name, Class type) { return newUnboundVariable(name, type); }
protected ExpressionFactory getExpressionFactory(ClassMetaData meta) { return new JDBCExpressionFactory((ClassMapping) meta); }
public Expression equal(Value v1, Value v2) { // if we're comparing an unaccessed bound variable, like in: // coll.contains (var) && var == x, then translate into: // coll.contains (x) if (v1 instanceof PCPath && ((PCPath) v1).isUnaccessedVariable()) return contains(v1, v2); if (v2 instanceof PCPath && ((PCPath) v2).isUnaccessedVariable()) return contains(v2, v1); return new EqualExpression((Val) v1, (Val) v2); }
public Expression whenScalar(Value val1, Value val2) { val1 = getLiteralRawString(val1); val2 = getLiteralRawString(val2); return new WhenScalar((Val) val1, (Val) val2); }
/** * Select data for the given select, returning paged fields. */ private BitSet populateSelect(Select sel, ClassMapping mapping, boolean subclasses, JDBCExpressionFactory fact, QueryExpressions exps, QueryExpressionsState state, ExpContext ctx, boolean lrs, int eager, long start, long end) { sel.setLRS(lrs); sel.setRange(start, end); BitSet paged = null; if (exps.projections.length == 0) { paged = PagingResultObjectProvider.getPagedFields(sel, mapping, _store, ctx.fetch, eager, end - start); if (paged != null) eager = JDBCFetchConfiguration.EAGER_JOIN; } fact.getSelectConstructor().select(sel, ctx, mapping, subclasses, exps, state, eager); return paged; }
public Expression equal(Value v1, Value v2) { // if we're comparing an unaccessed bound variable, like in: // coll.contains (var) && var == x, then translate into: // coll.contains (x) if (v1 instanceof PCPath && ((PCPath) v1).isUnaccessedVariable()) return contains(v1, v2); if (v2 instanceof PCPath && ((PCPath) v2).isUnaccessedVariable()) return contains(v2, v1); if (v1 instanceof Type || v2 instanceof Type) { Value val = v1 instanceof Type ? v1 : v2; verifyTypeOperation(val, null, false); return new EqualTypeExpression((Val) v1, (Val) v2); } return new EqualExpression((Val) v1, (Val) v2); }
public Value newBoundVariable(String name, Class type) { return newUnboundVariable(name, type); }
public Expression asExpression(Value v) { return equal(v, newLiteral(Boolean.TRUE, Literal.TYPE_BOOLEAN)); }
public Value nullIfExpression(Value val1, Value val2) { val1 = getLiteralRawString(val1); val2 = getLiteralRawString(val2); return new NullIfExpression((Val) val1, (Val) val2); }
/** * Select data for the given select, returning paged fields. */ private BitSet populateSelect(Select sel, ClassMapping mapping, boolean subclasses, JDBCExpressionFactory fact, QueryExpressions exps, QueryExpressionsState state, ExpContext ctx, boolean lrs, int eager, long start, long end) { sel.setLRS(lrs); sel.setRange(start, end); BitSet paged = null; if (exps.projections.length == 0) { paged = PagingResultObjectProvider.getPagedFields(sel, mapping, _store, ctx.fetch, eager, end - start); if (paged != null) eager = JDBCFetchConfiguration.EAGER_JOIN; } fact.getSelectConstructor().select(sel, ctx, mapping, subclasses, exps, state, eager); return paged; }
protected ExpressionFactory getExpressionFactory(ClassMetaData meta) { JDBCExpressionFactory factory = new JDBCExpressionFactory((ClassMapping) meta); if (_store.getDBDictionary() instanceof PostgresDictionary) factory.setBooleanLiteralAsNumeric(false); return factory; }