@Override public final void toSQL(RenderContext context) { if (size() > 0) { String separator = ""; // [#989] Some dialects do not support qualified column references // in the UPDATE statement's SET clause // [#2055] Other dialects require qualified column references to // disambiguated columns in queries like // UPDATE t1 JOIN t2 .. SET t1.val = ..., t2.val = ... boolean restoreQualify = context.qualify(); boolean supportsQualify = asList(POSTGRES, SQLITE).contains(context.configuration().dialect()) ? false : restoreQualify; for (Entry<Field<?>, Field<?>> entry : entrySet()) { context.sql(separator); if (!"".equals(separator)) { context.formatNewLine(); } context.start(assignmentClause) .qualify(supportsQualify) .visit(entry.getKey()) .qualify(restoreQualify) .sql(" = ") .visit(entry.getValue()) .end(assignmentClause); separator = ", "; } } else { context.sql("[ no fields are updated ]"); } }
final void toSQLReferenceKeys(RenderContext context) { boolean indent = (size() > 1); context.sql("("); if (indent) { context.formatIndentStart(); } // [#989] Avoid qualifying fields in INSERT field declaration boolean qualify = context.qualify(); context.qualify(false); String separator = ""; for (Field<?> field : keySet()) { context.sql(separator); if (indent) { context.formatNewLine(); } context.visit(field); separator = ", "; } context.qualify(qualify); if (indent) { context.formatIndentEnd() .formatNewLine(); } context.sql(")"); }
private final void toSQLQualifiedName(RenderContext ctx) { if (ctx.qualify()) { Schema mapped = Tools.getMappedSchema(ctx.configuration(), getSchema()); if (mapped != null && !"".equals(mapped.getName())) ctx.visit(mapped) .sql('.'); } ctx.literal(getName()); }
@Override public final void toSQL(RenderContext context) { context.data(DATA_OMIT_CLAUSE_EVENT_EMISSION, true); if (context.qualify()) { context.visit(table); context.sql("."); } context.literal(getName()); context.data(DATA_OMIT_CLAUSE_EVENT_EMISSION, null); }
DefaultRenderContext(RenderContext context) { this(context.configuration()); paramType(context.paramType()); qualify(context.qualify()); castMode(context.castMode()); declareFields(context.declareFields()); declareTables(context.declareTables()); data().putAll(context.data()); }
@Override public final void toSQL(RenderContext context) { context.start(INSERT_INSERT_INTO) .keyword("insert into") .sql(" ") .visit(into) .sql(" ("); // [#989] Avoid qualifying fields in INSERT field declaration boolean qualify = context.qualify(); context.qualify(false); String separator = ""; for (Field<?> field : fields) { context.sql(separator) .visit(field); separator = ", "; } context.qualify(qualify); context.sql(")") .end(INSERT_INSERT_INTO) .formatSeparator() .start(INSERT_SELECT) .visit(select) .end(INSERT_SELECT) .start(INSERT_ON_DUPLICATE_KEY_UPDATE) .end(INSERT_ON_DUPLICATE_KEY_UPDATE) .start(INSERT_RETURNING) .end(INSERT_RETURNING); }
private final void toSQLQualifiedName(RenderContext context) { Schema mappedSchema = Utils.getMappedSchema(context.configuration(), getSchema()); if (context.qualify()) { if (mappedSchema != null) { context.visit(mappedSchema); context.sql("."); } /* [pro] xx xx xxxxxxx xx xxx xxxxxxx xxxxxxxx xxxxxx xxxx xx xx xxxxx xxxxxxxxx xxxx xx xxxxxxxxxxxx xx xxxx xx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xx xxxxxxxxxx x xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxx x xx [/pro] */ if (getPackage() != null) { context.visit(getPackage()); context.sql("."); } } context.literal(getName()); }
@Override public final void toSQL(RenderContext context) { if (alias != null) { alias.toSQL(context); } else { if (context.qualify()) { Schema mappedSchema = Utils.getMappedSchema(context.configuration(), getSchema()); if (mappedSchema != null) { context.visit(mappedSchema); context.sql("."); } } context.literal(Utils.getMappedTable(context.configuration(), this).getName()); if (parameters != null && context.declareTables()) { context.sql("(") .visit(new QueryPartList<Field<?>>(parameters)) .sql(")"); } } }