diff --git a/jOOQ/src/main/java/org/jooq/DSLContext.java b/jOOQ/src/main/java/org/jooq/DSLContext.java
index 6829ef930f..2a2e2855f9 100644
--- a/jOOQ/src/main/java/org/jooq/DSLContext.java
+++ b/jOOQ/src/main/java/org/jooq/DSLContext.java
@@ -5380,6 +5380,7 @@ public interface DSLContext extends Scope {
*
{@link SQLDialect#SQLITE}: Using last_insert_rowid()
* {@link SQLDialect#SQLSERVER}: Using @@identity
* {@link SQLDialect#SYBASE}: Using @@identity
+ * {@link SQLDialect#VERTICA}: Using last_insert_id()
*
*
* @return The last inserted ID. This may be null in some
diff --git a/jOOQ/src/main/java/org/jooq/impl/AlterTableImpl.java b/jOOQ/src/main/java/org/jooq/impl/AlterTableImpl.java
index 962e698417..c3ac6013ec 100644
--- a/jOOQ/src/main/java/org/jooq/impl/AlterTableImpl.java
+++ b/jOOQ/src/main/java/org/jooq/impl/AlterTableImpl.java
@@ -298,6 +298,7 @@ class AlterTableImpl extends AbstractQuery implements
xxxxxx
xxxx xxxxxxxxxx
+ xxxx xxxxxxxx
xxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxx
xxxxxx
xx [/pro] */
@@ -323,6 +324,7 @@ class AlterTableImpl extends AbstractQuery implements
switch (family) {
/* [pro] xx
xxxx xxxx
+ xxxx xxxxxxxx
xxxxxxxxx xxxxxxxxxxxxxxx xxxx xxxxxxx
xxxxxx
xx [/pro] */
diff --git a/jOOQ/src/main/java/org/jooq/impl/Concat.java b/jOOQ/src/main/java/org/jooq/impl/Concat.java
index 2c53c821b6..91ff1bcb5b 100644
--- a/jOOQ/src/main/java/org/jooq/impl/Concat.java
+++ b/jOOQ/src/main/java/org/jooq/impl/Concat.java
@@ -79,7 +79,7 @@ class Concat extends AbstractFunction {
Field[] others = new Field[cast.length - 1];
System.arraycopy(cast, 1, others, 0, others.length);
- switch (configuration.dialect().family()) {
+ switch (configuration.family()) {
case MARIADB:
case MYSQL:
return function("concat", SQLDataType.VARCHAR, cast);
diff --git a/jOOQ/src/main/java/org/jooq/impl/DateAdd.java b/jOOQ/src/main/java/org/jooq/impl/DateAdd.java
index bc2b74647e..99c7c3152a 100644
--- a/jOOQ/src/main/java/org/jooq/impl/DateAdd.java
+++ b/jOOQ/src/main/java/org/jooq/impl/DateAdd.java
@@ -51,7 +51,6 @@ import org.jooq.Configuration;
import org.jooq.DatePart;
import org.jooq.Field;
import org.jooq.QueryPart;
-import org.jooq.exception.SQLDialectNotSupportedException;
/**
* @author Lukas Eder
@@ -272,8 +271,18 @@ class DateAdd extends AbstractFunction {
x
x
- xxxx xxxxxxx x
- xxxxx xxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxx xxxxxxxxxxx xx xxx xxx xxxxxxxxxxxxxx
+ xxxx xxxxxxxx x
+ xxxxxx xxxxxxxxxx x
+ xxxx xxxxx xxxxxxx x x xxxxxx xxxxxx
+ xxxx xxxxxx xxxxxxx x x xxxxxxx xxxxxx
+ xxxx xxxx xxxxxxx x x xxxxx xxxxxx
+ xxxx xxxxx xxxxxxx x x xxxxxx xxxxxx
+ xxxx xxxxxxx xxxxxxx x x xxxxxxxx xxxxxx
+ xxxx xxxxxxx xxxxxxx x x xxxxxxxx xxxxxx
+ xxxxxxxx xxxxxxxxxxxxxxxxxxx
+ x
+
+ xxxxxx xxxxxxxxxxxxxxxxxxxxxxxx xx xxx xx xxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxx
x
xx [/pro] */
}
diff --git a/jOOQ/src/main/java/org/jooq/impl/DateDiff.java b/jOOQ/src/main/java/org/jooq/impl/DateDiff.java
index 8958cb2d60..f605bda825 100644
--- a/jOOQ/src/main/java/org/jooq/impl/DateDiff.java
+++ b/jOOQ/src/main/java/org/jooq/impl/DateDiff.java
@@ -105,6 +105,7 @@ class DateDiff extends AbstractFunction {
xxxx xxxx
xxxx xxxxxxxxxx
xxxx xxxxxxx
+ xxxx xxxxxxxx
xxxxxx xxxxxxxxxxxxxxxxxxxxxx xxxx xxxxxx xxxxxxxxxxxxxx xxxxxx xxxxxxx
xxxx xxxx
diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java b/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java
index e244737eb9..41fab0b45b 100644
--- a/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java
+++ b/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java
@@ -1886,6 +1886,10 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri
return select(field).fetchOne(field);
}
+ /* [pro] xx
+ xxxx xxxxxxxx
+ xx [/pro] */
+
case CUBRID:
case MARIADB:
case MYSQL: {
diff --git a/jOOQ/src/main/java/org/jooq/impl/Euler.java b/jOOQ/src/main/java/org/jooq/impl/Euler.java
index cff6226405..1412a5cbc1 100644
--- a/jOOQ/src/main/java/org/jooq/impl/Euler.java
+++ b/jOOQ/src/main/java/org/jooq/impl/Euler.java
@@ -77,6 +77,7 @@ class Euler extends AbstractFunction {
xxxx xxxxxxxxx
xxxx xxxxxxxxxx
xxxx xxxxxxx
+ xxxx xxxxxxxx
xx [/pro] */
case CUBRID:
case DERBY:
diff --git a/jOOQ/src/main/java/org/jooq/impl/LeadLag.java b/jOOQ/src/main/java/org/jooq/impl/LeadLag.java
index f5e1e8b6ad..fcc5183f22 100644
--- a/jOOQ/src/main/java/org/jooq/impl/LeadLag.java
+++ b/jOOQ/src/main/java/org/jooq/impl/LeadLag.java
@@ -107,6 +107,13 @@ class LeadLag extends Function {
xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxx
xxxxxx
+
+ xx xx xxxxxxxx xxx xxxxxxxxxxxx xxxx xx x xxxxxxxx
+ xxxx xxxxxxxx
+ xxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxx xxxxxx xxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxx xxxxxxxxxxxxxxx xxx xxxxxxxxxxxxxxxxxxxxxxxxxx
+ xxxxxxxxxxxxxxxxxxxxx
+ xxxxxx
+
xx [/pro] */
default:
diff --git a/jOOQ/src/main/java/org/jooq/impl/Limit.java b/jOOQ/src/main/java/org/jooq/impl/Limit.java
index 37661a3ef9..a262131265 100644
--- a/jOOQ/src/main/java/org/jooq/impl/Limit.java
+++ b/jOOQ/src/main/java/org/jooq/impl/Limit.java
@@ -78,6 +78,33 @@ class Limit extends AbstractQueryPart {
// True LIMIT / OFFSET support provided by the following dialects
// -----------------------------------------------------------------
+ /* [pro] xx
+ xxxx xxxxxxxx x
+
+ xx xxxxxxx xxxxxxxxxxxxxxxxxxxxxx xxxxxx x xx xxxxx x xxxxxx xx xxx xxxxxxxxx xxx xxxxxxxxxxx
+ xx xx xxxxxxx xxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxxxxxx xx xxxxx xx xxxxxx
+ xx xxxxxxx xx xxxxxxx xxxxxx xx xxxxxxx xxxxxxx
+ xx xxxxxxxxxxxxxxxxxxxx
+ xxxxxxxxxxxxxxxxxxxxxxxxxxx
+
+ xxxxxxxxxxxxxxxxxxxxxxx
+ xxxxxxxxxxxxxxxxxx
+ xxxxxxxxxxxxxxxxx
+ xxxxxx xxxxxxxxxxxxxxxxxxxxxxx
+
+ xx xxxxxxxxxxxxxxx
+ xxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx
+ xxxxxx xxxxxxxxxxxxxxxxxxxxxxx
+
+ xxxxxxxxxxxxxxxxxxxxxxxxxxx
+
+ xx xxxxxxxxxxxxxxxxxxxx
+ xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+
+ xxxxxx
+ x
+ xx [/pro] */
+
case MARIADB:
case MYSQL:
case H2:
diff --git a/jOOQ/src/main/java/org/jooq/impl/MergeImpl.java b/jOOQ/src/main/java/org/jooq/impl/MergeImpl.java
index b05062afb5..44203117cd 100644
--- a/jOOQ/src/main/java/org/jooq/impl/MergeImpl.java
+++ b/jOOQ/src/main/java/org/jooq/impl/MergeImpl.java
@@ -939,7 +939,7 @@ implements
// -------------------------------------------------------------------------
/**
- * Return a standard MERGE statement simulating the H2-specific syntax
+ * Return a standard MERGE statement emulating the H2-specific syntax
*/
private final QueryPart getStandardMerge(Configuration config) {
switch (config.dialect().family()) {
@@ -949,6 +949,7 @@ implements
xxxx xxxxxxx
xxxx xxxxxxxxxx
xxxx xxxxxxx
+ xxxx xxxxxxxx
xx [/pro] */
case CUBRID:
case HSQLDB: {
diff --git a/jOOQ/src/main/java/org/jooq/impl/RegexpLike.java b/jOOQ/src/main/java/org/jooq/impl/RegexpLike.java
index 5766e733a2..3b09ca7e93 100644
--- a/jOOQ/src/main/java/org/jooq/impl/RegexpLike.java
+++ b/jOOQ/src/main/java/org/jooq/impl/RegexpLike.java
@@ -109,7 +109,8 @@ class RegexpLike extends AbstractCondition {
/* [pro] xx
xx xxxxxx xxxxxx xxx xxx xxx xxxxxx
- xxxx xxxxxxx x
+ xxxx xxxxxxx
+ xxxx xxxxxxxx x
xx xxxxxxx xxxxx xxxxxxx xxxx xx xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxx xxxxxxx xxxxxxxxxx
diff --git a/jOOQ/src/main/java/org/jooq/impl/Replace.java b/jOOQ/src/main/java/org/jooq/impl/Replace.java
index 0015e47925..157aec733b 100644
--- a/jOOQ/src/main/java/org/jooq/impl/Replace.java
+++ b/jOOQ/src/main/java/org/jooq/impl/Replace.java
@@ -83,6 +83,7 @@ class Replace extends AbstractFunction {
xxxx xxxxxxx
xxxx xxxxxxxxxx
xxxx xxxxxxx
+ xxxx xxxxxxxx
xx [/pro] */
case FIREBIRD:
case HSQLDB:
diff --git a/jOOQ/src/main/java/org/jooq/impl/SQLInline.java b/jOOQ/src/main/java/org/jooq/impl/SQLInline.java
new file mode 100644
index 0000000000..2e17b7f952
--- /dev/null
+++ b/jOOQ/src/main/java/org/jooq/impl/SQLInline.java
@@ -0,0 +1,90 @@
+/**
+ * Copyright (c) 2009-2015, Data Geekery GmbH (http://www.datageekery.com)
+ * All rights reserved.
+ *
+ * This work is dual-licensed
+ * - under the Apache Software License 2.0 (the "ASL")
+ * - under the jOOQ License and Maintenance Agreement (the "jOOQ License")
+ * =============================================================================
+ * You may choose which license applies to you:
+ *
+ * - If you're using this work with Open Source databases, you may choose
+ * either ASL or jOOQ License.
+ * - If you're using this work with at least one commercial database, you must
+ * choose jOOQ License
+ *
+ * For more information, please visit http://www.jooq.org/licenses
+ *
+ * Apache Software License 2.0:
+ * -----------------------------------------------------------------------------
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * jOOQ License and Maintenance Agreement:
+ * -----------------------------------------------------------------------------
+ * Data Geekery grants the Customer the non-exclusive, timely limited and
+ * non-transferable license to install and use the Software under the terms of
+ * the jOOQ License and Maintenance Agreement.
+ *
+ * This library is distributed with a LIMITED WARRANTY. See the jOOQ License
+ * and Maintenance Agreement for more details: http://www.jooq.org/licensing
+ */
+package org.jooq.impl;
+
+import static org.jooq.conf.ParamType.INLINED;
+import static org.jooq.impl.DSL.sql;
+
+import org.jooq.Clause;
+import org.jooq.Context;
+import org.jooq.QueryPart;
+import org.jooq.SQL;
+import org.jooq.conf.ParamType;
+
+/**
+ * @author Lukas Eder
+ */
+class SQLInline extends AbstractQueryPart implements SQL {
+
+ /**
+ * Generated UID
+ */
+ private static final long serialVersionUID = 5352233054249655126L;
+
+ private SQL sql;
+
+ SQLInline(QueryPart part) {
+ this(sql("{0}", part));
+ }
+
+ SQLInline(SQL sql) {
+ this.sql = sql;
+ }
+
+ @Override
+ public final void accept(Context> ctx) {
+ ParamType paramType = ctx.paramType();
+
+ ctx.paramType(INLINED)
+ .visit(sql)
+ .paramType(paramType);
+ }
+
+ @Override
+ public Clause[] clauses(Context> ctx) {
+ return null;
+ }
+
+ @Override
+ public String toString() {
+ return sql.toString();
+ }
+}
diff --git a/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java b/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java
index 309e47dcde..88d7f07e81 100644
--- a/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java
+++ b/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java
@@ -591,7 +591,7 @@ class SelectQueryImpl extends AbstractResultQuery implement
/* [pro] xx
xx xxxx xxxxxxx
xx xxxxxxxxxxxx
- xx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x
+ xx xxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx x
xxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxx xxxxxxxxxx x xxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
diff --git a/jOOQ/src/main/java/org/jooq/impl/TimestampDiff.java b/jOOQ/src/main/java/org/jooq/impl/TimestampDiff.java
index 613a4567ab..39120aaa1f 100644
--- a/jOOQ/src/main/java/org/jooq/impl/TimestampDiff.java
+++ b/jOOQ/src/main/java/org/jooq/impl/TimestampDiff.java
@@ -115,6 +115,10 @@ class TimestampDiff extends AbstractFunction {
case DERBY:
return (Field) field("1000 * {fn {timestampdiff}({sql_tsi_second}, {0}, {1}) }", INTEGER, timestamp2, timestamp1);
+ /* [pro] xx
+ xxxx xxxxxxxx
+ xx [/pro] */
+
case FIREBIRD:
return field("{datediff}(millisecond, {0}, {1})", getDataType(), timestamp2, timestamp1);
diff --git a/jOOQ/src/main/java/org/jooq/impl/TruncDate.java b/jOOQ/src/main/java/org/jooq/impl/TruncDate.java
index 9da003caa5..b0c2d461b2 100644
--- a/jOOQ/src/main/java/org/jooq/impl/TruncDate.java
+++ b/jOOQ/src/main/java/org/jooq/impl/TruncDate.java
@@ -124,6 +124,7 @@ class TruncDate extends AbstractFunction {
/* [pro] xx
xxxx xxxxxxxxx
+ xxxx xxxxxxxx
xx [/pro] */
case POSTGRES: {