/** * Add the given String literal at the given position as a query flag * * @param position * @param flag * @return */ public SQLMergeClause addFlag(Position position, String flag) { metadata.addFlag(new QueryFlag(position, flag)); return this; }
/** * Add the given String literal at the given position as a query flag * * @param position * @param flag * @return */ public SQLInsertClause addFlag(Position position, String flag) { metadata.addFlag(new QueryFlag(position, flag)); return this; }
/** * Add the given String literal at the given position as a query flag * * @param position * @param flag * @return */ public SQLUpdateClause addFlag(Position position, String flag) { metadata.addFlag(new QueryFlag(position, flag)); return this; }
/** * Add the given Expression at the given position as a query flag * * @param position * @param flag * @return */ public SQLInsertClause addFlag(Position position, Expression<?> flag) { metadata.addFlag(new QueryFlag(position, flag)); return this; }
/** * Add the given String literal at the given position as a query flag * * @param position * @param flag * @return */ public SQLDeleteClause addFlag(Position position, String flag) { metadata.addFlag(new QueryFlag(position, flag)); return this; }
/** * Adds a qualify expression * * @param predicate * @return */ public TeradataQuery qualify(Predicate predicate) { predicate = PredicateOperation.create(SQLOps.QUALIFY, predicate); return queryMixin.addFlag(new QueryFlag(QueryFlag.Position.BEFORE_ORDER, predicate)); }
/** * Add the given String literal as a query flag * * @param position * @param flag * @return */ @Override @WithBridgeMethods(value=AbstractSQLSubQuery.class, castRequired=true) public Q addFlag(Position position, String flag) { return queryMixin.addFlag(new QueryFlag(position, flag)); }
/** * Add the given Expression as a query flag * * @param position * @param flag * @return */ @Override @WithBridgeMethods(value=AbstractSQLSubQuery.class, castRequired=true) public Q addFlag(Position position, Expression<?> flag) { return queryMixin.addFlag(new QueryFlag(position, flag)); }
/** * Add the given String literal as query flag * * @param position * @param flag * @return */ @Override @WithBridgeMethods(value=AbstractSQLQuery.class, castRequired=true) public Q addFlag(Position position, String flag) { return queryMixin.addFlag(new QueryFlag(position, flag)); }
/** * Add the given Expression as a query flag * * @param position * @param flag * @return */ @Override @WithBridgeMethods(value=AbstractSQLQuery.class, castRequired=true) public Q addFlag(Position position, Expression<?> flag) { return queryMixin.addFlag(new QueryFlag(position, flag)); }
@Override @WithBridgeMethods(value=AbstractSQLSubQuery.class, castRequired=true) public WithBuilder<Q> withRecursive(Path<?> alias, Path<?>... columns) { queryMixin.addFlag(new QueryFlag(QueryFlag.Position.WITH, SQLTemplates.RECURSIVE)); return with(alias, columns); }
@Override @WithBridgeMethods(value=AbstractSQLQuery.class, castRequired=true) public Q withRecursive(Path<?> alias, SubQueryExpression<?> query) { queryMixin.addFlag(new QueryFlag(QueryFlag.Position.WITH, SQLTemplates.RECURSIVE)); return with(alias, query); }
@Override @WithBridgeMethods(value=AbstractSQLQuery.class, castRequired=true) public Q withRecursive(Path<?> alias, Expression<?> query) { queryMixin.addFlag(new QueryFlag(QueryFlag.Position.WITH, SQLTemplates.RECURSIVE)); return with(alias, query); }
@Override @WithBridgeMethods(value=AbstractSQLSubQuery.class, castRequired=true) public Q withRecursive(Path<?> alias, SubQueryExpression<?> query) { queryMixin.addFlag(new QueryFlag(QueryFlag.Position.WITH, SQLTemplates.RECURSIVE)); return with(alias, query); }
@Override @WithBridgeMethods(value=AbstractSQLSubQuery.class, castRequired=true) public Q withRecursive(Path<?> alias, Expression<?> query) { queryMixin.addFlag(new QueryFlag(QueryFlag.Position.WITH, SQLTemplates.RECURSIVE)); return with(alias, query); }
public R as(Expression<?> expr) { Expression<?> flag = OperationImpl.create(alias.getType(), SQLOps.WITH_ALIAS, alias, expr); return queryMixin.addFlag(new QueryFlag(QueryFlag.Position.WITH, flag)); }
@Override @WithBridgeMethods(value=AbstractSQLQuery.class, castRequired=true) public Q with(Path<?> alias, SubQueryExpression<?> query) { Expression<?> expr = OperationImpl.create(alias.getType(), SQLOps.WITH_ALIAS, alias, query); return queryMixin.addFlag(new QueryFlag(QueryFlag.Position.WITH, expr)); }
@Override @WithBridgeMethods(value=AbstractSQLSubQuery.class, castRequired=true) public Q with(Path<?> alias, SubQueryExpression<?> target) { Expression<?> expr = OperationImpl.create(alias.getType(), SQLOps.WITH_ALIAS, alias, target); return queryMixin.addFlag(new QueryFlag(QueryFlag.Position.WITH, expr)); }
@Override @WithBridgeMethods(value=AbstractSQLQuery.class, castRequired=true) public Q with(Path<?> alias, Expression<?> query) { Expression<?> expr = OperationImpl.create(alias.getType(), SQLOps.WITH_ALIAS, alias, query); return queryMixin.addFlag(new QueryFlag(QueryFlag.Position.WITH, expr)); }
@Override public void serializeDelete(QueryMetadata metadata, RelationalPath<?> entity, SQLSerializer context) { // limit QueryModifiers mod = metadata.getModifiers(); if (mod.isRestricting()) { metadata = metadata.clone(); metadata.addFlag(new QueryFlag(QueryFlag.Position.AFTER_SELECT, Expressions.template(Integer.class, topTemplate, mod.getLimit()))); } context.serializeForDelete(metadata, entity); if (!metadata.getFlags().isEmpty()) { context.serialize(Position.END, metadata.getFlags()); } }