diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractSubSelect.java b/jOOQ/src/main/java/org/jooq/impl/AbstractSubSelect.java index caa70e2390..a78b600ece 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractSubSelect.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractSubSelect.java @@ -304,18 +304,14 @@ implements .sql(".*, row_number() over (order by "); if (getOrderBy().isEmpty()) { - - // TODO [#771] Check whether this literal should be escaped - context.sql(getSelect().get(0).getName()); + context.literal(getSelect().get(0).getName()); } else { String separator = ""; for (SortField field : getOrderBy()) { - - // TODO [#771] Check whether this literal should be escaped context.sql(separator) - .sql(field.getName()) + .literal(field.getName()) .sql(" ") .sql(field.getOrder().toSQL()); diff --git a/jOOQ/src/main/java/org/jooq/impl/ArrayConstant.java b/jOOQ/src/main/java/org/jooq/impl/ArrayConstant.java index aded815a21..3eaab440b1 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ArrayConstant.java +++ b/jOOQ/src/main/java/org/jooq/impl/ArrayConstant.java @@ -71,9 +71,7 @@ class ArrayConstant extends AbstractField { @Override public final void toSQL(RenderContext context) { if (context.inline()) { - - // TODO [#771] Check if this should be escaped as a literal - context.sql(array.getName()); + context.literal(array.getName()); context.sql("("); String separator = ""; diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultBindContext.java b/jOOQ/src/main/java/org/jooq/impl/DefaultBindContext.java index c574958fa8..13f840f1b5 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultBindContext.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultBindContext.java @@ -305,4 +305,31 @@ class DefaultBindContext extends AbstractContext implements BindCon return this; } + + // ------------------------------------------------------------------------ + // Object API + // ------------------------------------------------------------------------ + + @Override + public final String toString() { + StringBuilder sb = new StringBuilder(); + + sb.append("binding [index "); + sb.append(index); + sb.append("]\ndeclaring ["); + + if (declareFields) { + sb.append("fields"); + } + else if (declareTables) { + sb.append("tables"); + } + else { + sb.append("-"); + } + + sb.append("]"); + + return sb.toString(); + } } diff --git a/jOOQ/src/main/java/org/jooq/impl/FieldTypeHelper.java b/jOOQ/src/main/java/org/jooq/impl/FieldTypeHelper.java index 19b3fe23a3..c25a11c0c5 100644 --- a/jOOQ/src/main/java/org/jooq/impl/FieldTypeHelper.java +++ b/jOOQ/src/main/java/org/jooq/impl/FieldTypeHelper.java @@ -193,7 +193,7 @@ public final class FieldTypeHelper { } // In Postgres, some additional casting must be done in some cases... - // TODO: Improve this implementation with #215 (cast support) + // TODO: Improve this implementation with [#215] (cast support) else if (context.getDialect() == SQLDialect.POSTGRES) { // Postgres needs explicit casting for array types @@ -202,10 +202,10 @@ public final class FieldTypeHelper { context.sql(getDataType(context.getDialect(), type).getCastTypeName(context)); } - // TODO [#771] Check if this type literal should be escaped + // ... and also for enum types else if (EnumType.class.isAssignableFrom(type)) { context.sql("?::"); - context.sql(((EnumType) value).getName()); + context.literal(((EnumType) value).getName()); } else { diff --git a/jOOQ/src/main/java/org/jooq/impl/ParameterImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParameterImpl.java index 07f6fdf182..ca7cf9265d 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParameterImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParameterImpl.java @@ -87,7 +87,6 @@ public class ParameterImpl extends AbstractNamedTypeProviderQueryPart impl @Override public final void toSQL(RenderContext context) { - // TODO [#771] Check if this should be an escaped literal - context.sql(getName()); + context.literal(getName()); } } diff --git a/jOOQ/src/main/java/org/jooq/impl/UDTFieldImpl.java b/jOOQ/src/main/java/org/jooq/impl/UDTFieldImpl.java index 11052af3b8..10d3a93471 100644 --- a/jOOQ/src/main/java/org/jooq/impl/UDTFieldImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/UDTFieldImpl.java @@ -96,8 +96,7 @@ public class UDTFieldImpl, T> extends AbstractField im @Override public final void toSQL(RenderContext context) { - // TODO [#771] Check if this should be escaped as literal - context.sql(getName()); + context.literal(getName()); } @Override