diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/AbstractDatabase.java b/jOOQ-meta/src/main/java/org/jooq/meta/AbstractDatabase.java
index 4ba2f9a052..e0b8cfd136 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/AbstractDatabase.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/AbstractDatabase.java
@@ -49,9 +49,11 @@ import static org.jooq.SQLDialect.CUBRID;
import static org.jooq.SQLDialect.FIREBIRD;
import static org.jooq.SQLDialect.SQLITE;
// ...
+import static org.jooq.impl.DSL.case_;
import static org.jooq.impl.DSL.count;
import static org.jooq.impl.DSL.falseCondition;
import static org.jooq.impl.DSL.field;
+import static org.jooq.impl.DSL.inline;
import static org.jooq.impl.DSL.noCondition;
import static org.jooq.impl.DSL.one;
import static org.jooq.impl.DSL.partitionBy;
@@ -59,6 +61,7 @@ import static org.jooq.impl.DSL.rowNumber;
import static org.jooq.impl.DSL.table;
import static org.jooq.impl.DSL.when;
import static org.jooq.meta.AbstractTypedElementDefinition.customType;
+import static org.jooq.meta.hsqldb.information_schema.Tables.TRIGGERS;
import static org.jooq.tools.StringUtils.defaultIfBlank;
import static org.jooq.tools.StringUtils.defaultIfEmpty;
import static org.jooq.tools.StringUtils.defaultIfNull;
@@ -77,6 +80,7 @@ import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
+import java.util.EnumSet;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -110,11 +114,15 @@ import org.jooq.Parser;
// ...
import org.jooq.Query;
import org.jooq.Record;
+import org.jooq.Record14;
import org.jooq.SQLDialect;
import org.jooq.Schema;
import org.jooq.Select;
import org.jooq.Table;
import org.jooq.TableField;
+// ...
+// ...
+// ...
import org.jooq.TableOptions.TableType;
import org.jooq.conf.ParseWithMetaLookups;
import org.jooq.conf.RenderQuotedNames;
@@ -124,6 +132,7 @@ import org.jooq.impl.DSL;
import org.jooq.impl.ParserException;
import org.jooq.impl.QOM;
import org.jooq.impl.SQLDataType;
+import org.jooq.meta.hsqldb.information_schema.tables.Triggers;
import org.jooq.meta.jaxb.CatalogMappingType;
import org.jooq.meta.jaxb.CommentType;
import org.jooq.meta.jaxb.CustomType;
@@ -808,7 +817,7 @@ public abstract class AbstractDatabase implements Database {
@Override
public final SchemaDefinition getSchema(String inputName) {
for (SchemaDefinition schema : getSchemata())
- if (schema.getName().equals(inputName))
+ if (schema.getName().equals(defaultIfNull(inputName, "")))
return schema;
return null;
@@ -1585,35 +1594,33 @@ public abstract class AbstractDatabase implements Database {
log.warn("DEPRECATED", "The element in is deprecated. Use instead: " + type);
}
- if (StringUtils.isBlank(type.getUserType())) {
- if (type.getVisibilityModifier() == null
- && StringUtils.isBlank(type.getGenerator())
- && StringUtils.isBlank(type.getName())
- && !TRUE.equals(type.isAuditInsertTimestamp())
- && !TRUE.equals(type.isAuditInsertUser())
- && !TRUE.equals(type.isAuditUpdateTimestamp())
- && !TRUE.equals(type.isAuditUpdateUser())) {
- log.warn("Bad configuration for . Any of , , , , , , , or is required: " + type);
- it2.remove();
- continue;
- }
- else if (!commercial()) {
- log.warn(", , , , , and are commercial only features. Please upgrade to the jOOQ Professional Edition or jOOQ Enterprise Edition: " + type);
+ boolean commercialFlags =
+ type.getVisibilityModifier() != null
+ || !StringUtils.isBlank(type.getGenerator())
+ || TRUE.equals(type.isAuditInsertTimestamp())
+ || TRUE.equals(type.isAuditInsertUser())
+ || TRUE.equals(type.isAuditUpdateTimestamp())
+ || TRUE.equals(type.isAuditUpdateUser());
- it2.remove();
- continue;
- }
+ if (StringUtils.isBlank(type.getUserType())
+ && StringUtils.isBlank(type.getName())
+ && !commercialFlags) {
+ log.warn("Bad configuration for . Any of , , , , , , , or is required: " + type);
+
+ it2.remove();
+ continue;
+ }
+ else if (commercialFlags && !commercial()) {
+ log.warn(", , , , , and are commercial only features. Please upgrade to the jOOQ Professional Edition or jOOQ Enterprise Edition: " + type);
+
+ it2.remove();
+ continue;
}
if (StringUtils.isBlank(type.getBinding())
&& StringUtils.isBlank(type.getConverter())
- && StringUtils.isBlank(type.getGenerator())
- && !TRUE.equals(type.isAuditInsertTimestamp())
- && !TRUE.equals(type.isAuditInsertUser())
- && !TRUE.equals(type.isAuditUpdateTimestamp())
- && !TRUE.equals(type.isAuditUpdateUser())
- && type.getVisibilityModifier() == null
+ && !commercialFlags
&& !Boolean.TRUE.equals(type.isAutoConverter())
&& !Boolean.TRUE.equals(type.isEnumConverter())
&& !Boolean.TRUE.equals(type.isXmlConverter())
@@ -3976,6 +3983,72 @@ public abstract class AbstractDatabase implements Database {
return result;
}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
/**
* Retrieve ALL indexes from the database
*/
@@ -4052,17 +4125,6 @@ public abstract class AbstractDatabase implements Database {
*/
protected abstract List getDomains0() throws SQLException;
-
-
-
-
-
-
-
-
-
-
-
/**
* Retrieve ALL XML schema collections from the database. This will be
* filtered in {@link #getXMLSchemaCollections()}
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/ResultQueryDatabase.java b/jOOQ-meta/src/main/java/org/jooq/meta/ResultQueryDatabase.java
index ecde466eec..cbe404f596 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/ResultQueryDatabase.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/ResultQueryDatabase.java
@@ -42,10 +42,13 @@ import java.util.List;
import org.jooq.Meta;
import org.jooq.Record12;
+import org.jooq.Record14;
import org.jooq.Record4;
import org.jooq.Record5;
import org.jooq.Record6;
import org.jooq.ResultQuery;
+// ...
+// ...
import org.jetbrains.annotations.ApiStatus.Internal;
import org.jetbrains.annotations.Nullable;
@@ -180,4 +183,36 @@ public interface ResultQueryDatabase extends Database {
@Internal
@Nullable
ResultQuery> comments(List schemas);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
}
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/derby/DerbyDatabase.java b/jOOQ-meta/src/main/java/org/jooq/meta/derby/DerbyDatabase.java
index e29b670e8b..1286cae837 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/derby/DerbyDatabase.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/derby/DerbyDatabase.java
@@ -76,6 +76,7 @@ import org.jooq.DSLContext;
import org.jooq.Field;
import org.jooq.Record;
import org.jooq.Record12;
+import org.jooq.Record14;
import org.jooq.Record4;
import org.jooq.Record5;
import org.jooq.Record6;
@@ -114,6 +115,8 @@ import org.jooq.meta.UDTDefinition;
import org.jooq.meta.XMLSchemaCollectionDefinition;
import org.jooq.meta.derby.sys.tables.Systriggers;
+import org.jetbrains.annotations.Nullable;
+
/**
* @author Lukas Eder
*/
@@ -507,45 +510,6 @@ public class DerbyDatabase extends AbstractDatabase implements ResultQueryDataba
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/duckdb/DuckDBDatabase.java b/jOOQ-meta/src/main/java/org/jooq/meta/duckdb/DuckDBDatabase.java
index 7c9f246d89..bb1b8368d1 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/duckdb/DuckDBDatabase.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/duckdb/DuckDBDatabase.java
@@ -64,12 +64,15 @@ import java.util.List;
import org.jooq.DSLContext;
import org.jooq.Record;
import org.jooq.Record12;
+import org.jooq.Record14;
import org.jooq.Record4;
import org.jooq.Record5;
import org.jooq.Record6;
import org.jooq.ResultQuery;
import org.jooq.SQLDialect;
import org.jooq.TableOptions.TableType;
+// ...
+// ...
import org.jooq.impl.DSL;
import org.jooq.meta.AbstractDatabase;
import org.jooq.meta.ArrayDefinition;
@@ -220,6 +223,15 @@ public class DuckDBDatabase extends AbstractDatabase implements ResultQueryDatab
return null;
}
+
+
+
+
+
+
+
+
+
@Override
public ResultQuery> sequences(List schemas) {
return create()
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/firebird/FirebirdDatabase.java b/jOOQ-meta/src/main/java/org/jooq/meta/firebird/FirebirdDatabase.java
index 85fe88bc3c..c2eda598d3 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/firebird/FirebirdDatabase.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/firebird/FirebirdDatabase.java
@@ -37,9 +37,9 @@
*/
package org.jooq.meta.firebird;
-import static java.lang.Boolean.TRUE;
import static java.util.Arrays.asList;
import static java.util.stream.Collectors.mapping;
+import static java.util.stream.Collectors.toList;
import static org.jooq.SQLDialect.FIREBIRD;
import static org.jooq.impl.DSL.any;
import static org.jooq.impl.DSL.bitGet;
@@ -83,16 +83,17 @@ import java.math.BigDecimal;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collections;
-import java.util.EnumSet;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.stream.Collectors;
+import java.util.stream.Stream;
import org.jooq.DSLContext;
import org.jooq.Field;
import org.jooq.Record;
import org.jooq.Record12;
+import org.jooq.Record14;
import org.jooq.Record4;
import org.jooq.Record5;
import org.jooq.Record6;
@@ -104,7 +105,6 @@ import org.jooq.Table;
import org.jooq.TableOptions.TableType;
// ...
// ...
-// ...
import org.jooq.impl.DSL;
import org.jooq.meta.AbstractDatabase;
import org.jooq.meta.AbstractIndexDefinition;
@@ -117,7 +117,6 @@ import org.jooq.meta.DefaultDomainDefinition;
import org.jooq.meta.DefaultIndexColumnDefinition;
import org.jooq.meta.DefaultRelations;
import org.jooq.meta.DefaultSequenceDefinition;
-// ...
import org.jooq.meta.DomainDefinition;
import org.jooq.meta.EnumDefinition;
import org.jooq.meta.IndexColumnDefinition;
@@ -128,7 +127,6 @@ import org.jooq.meta.RoutineDefinition;
import org.jooq.meta.SchemaDefinition;
import org.jooq.meta.SequenceDefinition;
import org.jooq.meta.TableDefinition;
-// ...
import org.jooq.meta.UDTDefinition;
import org.jooq.meta.XMLSchemaCollectionDefinition;
import org.jooq.meta.firebird.rdb.tables.Rdb$checkConstraints;
@@ -675,37 +673,6 @@ public class FirebirdDatabase extends AbstractDatabase implements ResultQueryDat
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/h2/H2Database.java b/jOOQ-meta/src/main/java/org/jooq/meta/h2/H2Database.java
index 4566428ee5..f426642532 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/h2/H2Database.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/h2/H2Database.java
@@ -98,6 +98,7 @@ import org.jooq.Field;
import org.jooq.Name;
import org.jooq.Record;
import org.jooq.Record12;
+import org.jooq.Record14;
import org.jooq.Record4;
import org.jooq.Record5;
import org.jooq.Record6;
@@ -108,6 +109,8 @@ import org.jooq.Select;
import org.jooq.SortOrder;
import org.jooq.Table;
import org.jooq.TableField;
+// ...
+// ...
import org.jooq.TableOptions.TableType;
import org.jooq.impl.DSL;
import org.jooq.meta.AbstractDatabase;
@@ -729,6 +732,15 @@ public class H2Database extends AbstractDatabase implements ResultQueryDatabase
SEQUENCES.SEQUENCE_NAME);
}
+
+
+
+
+
+
+
+
+
@Override
protected List getSequences0() throws SQLException {
List result = new ArrayList<>();
@@ -1213,16 +1225,6 @@ public class H2Database extends AbstractDatabase implements ResultQueryDatabase
return result;
}
-
-
-
-
-
-
-
-
-
-
@Override
protected List getXMLSchemaCollections0() throws SQLException {
List result = new ArrayList<>();
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/hsqldb/HSQLDBDatabase.java b/jOOQ-meta/src/main/java/org/jooq/meta/hsqldb/HSQLDBDatabase.java
index 14f848c616..3aa98faf3f 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/hsqldb/HSQLDBDatabase.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/hsqldb/HSQLDBDatabase.java
@@ -41,14 +41,17 @@ package org.jooq.meta.hsqldb;
import static org.jooq.Records.mapping;
import static org.jooq.impl.DSL.case_;
import static org.jooq.impl.DSL.coalesce;
+import static org.jooq.impl.DSL.count;
import static org.jooq.impl.DSL.decode;
import static org.jooq.impl.DSL.falseCondition;
import static org.jooq.impl.DSL.field;
import static org.jooq.impl.DSL.inline;
import static org.jooq.impl.DSL.lower;
+import static org.jooq.impl.DSL.max;
import static org.jooq.impl.DSL.name;
import static org.jooq.impl.DSL.noCondition;
import static org.jooq.impl.DSL.nvl;
+import static org.jooq.impl.DSL.replace;
import static org.jooq.impl.DSL.select;
import static org.jooq.impl.DSL.trim;
import static org.jooq.impl.DSL.when;
@@ -79,17 +82,16 @@ import java.sql.SQLException;
import java.util.ArrayList;
import java.util.EnumSet;
import java.util.LinkedHashMap;
-import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
-import java.util.Set;
import org.jooq.DSLContext;
import org.jooq.Field;
import org.jooq.Name;
import org.jooq.Record;
import org.jooq.Record12;
+import org.jooq.Record14;
import org.jooq.Record4;
import org.jooq.Record5;
import org.jooq.Record6;
@@ -656,31 +658,6 @@ public class HSQLDBDatabase extends AbstractDatabase implements ResultQueryDatab
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/mysql/MySQLDatabase.java b/jOOQ-meta/src/main/java/org/jooq/meta/mysql/MySQLDatabase.java
index 52553efd88..0af0b14fe9 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/mysql/MySQLDatabase.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/mysql/MySQLDatabase.java
@@ -48,10 +48,12 @@ import static org.jooq.SQLDialect.MYSQL;
// ...
import static org.jooq.impl.DSL.case_;
import static org.jooq.impl.DSL.cast;
+import static org.jooq.impl.DSL.count;
import static org.jooq.impl.DSL.field;
import static org.jooq.impl.DSL.inline;
import static org.jooq.impl.DSL.length;
import static org.jooq.impl.DSL.lower;
+import static org.jooq.impl.DSL.max;
import static org.jooq.impl.DSL.name;
import static org.jooq.impl.DSL.noCondition;
import static org.jooq.impl.DSL.regexpReplaceAll;
@@ -93,6 +95,7 @@ import org.jooq.DSLContext;
import org.jooq.Field;
import org.jooq.Record;
import org.jooq.Record12;
+import org.jooq.Record14;
import org.jooq.Record4;
import org.jooq.Record5;
import org.jooq.Record6;
@@ -136,6 +139,8 @@ import org.jooq.meta.mysql.information_schema.tables.Triggers;
import org.jooq.meta.mysql.mysql.enums.ProcType;
import org.jooq.tools.csv.CSVReader;
+import org.jetbrains.annotations.Nullable;
+
/**
* @author Lukas Eder
*/
@@ -659,31 +664,6 @@ public class MySQLDatabase extends AbstractDatabase implements ResultQueryDataba
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/postgres/PostgresDatabase.java b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/PostgresDatabase.java
index e77cc0a5c3..aee5009481 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/postgres/PostgresDatabase.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/PostgresDatabase.java
@@ -130,6 +130,7 @@ import org.jooq.Name;
import org.jooq.Record;
import org.jooq.Record1;
import org.jooq.Record12;
+import org.jooq.Record14;
import org.jooq.Record4;
import org.jooq.Record5;
import org.jooq.Record6;
@@ -189,6 +190,8 @@ import org.jooq.meta.postgres.pg_catalog.tables.PgInherits;
import org.jooq.meta.postgres.pg_catalog.tables.PgType;
import org.jooq.tools.JooqLogger;
+import org.jetbrains.annotations.Nullable;
+
/**
* Postgres uses the ANSI default INFORMATION_SCHEMA, but unfortunately ships
* with a non-capitalised version of it: information_schema. Hence
@@ -963,37 +966,6 @@ public class PostgresDatabase extends AbstractDatabase implements ResultQueryDat
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/sqlite/SQLiteDatabase.java b/jOOQ-meta/src/main/java/org/jooq/meta/sqlite/SQLiteDatabase.java
index 8627add8d8..342659fc2b 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/sqlite/SQLiteDatabase.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/sqlite/SQLiteDatabase.java
@@ -73,6 +73,7 @@ import org.jooq.Query;
import org.jooq.Record;
import org.jooq.Record1;
import org.jooq.Record12;
+import org.jooq.Record14;
import org.jooq.Record4;
import org.jooq.Record5;
import org.jooq.Record6;
@@ -117,6 +118,8 @@ import org.jooq.meta.sqlite.sqlite_master.SQLiteMaster;
import org.jooq.tools.JooqLogger;
import org.jooq.tools.StringUtils;
+import org.jetbrains.annotations.Nullable;
+
/**
* SQLite implementation of {@link AbstractDatabase}
*
@@ -587,6 +590,11 @@ public class SQLiteDatabase extends AbstractDatabase implements ResultQueryDatab
+
+
+
+
+
diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/trino/TrinoDatabase.java b/jOOQ-meta/src/main/java/org/jooq/meta/trino/TrinoDatabase.java
index fb2e36b5b5..6257a47239 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/trino/TrinoDatabase.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/trino/TrinoDatabase.java
@@ -55,11 +55,14 @@ import java.util.List;
import org.jooq.DSLContext;
import org.jooq.Record;
import org.jooq.Record12;
+import org.jooq.Record14;
import org.jooq.Record4;
import org.jooq.Record5;
import org.jooq.Record6;
import org.jooq.ResultQuery;
import org.jooq.SQLDialect;
+// ...
+// ...
import org.jooq.TableOptions.TableType;
import org.jooq.impl.DSL;
import org.jooq.meta.AbstractDatabase;
@@ -155,7 +158,7 @@ public class TrinoDatabase extends AbstractDatabase implements ResultQueryDataba
}
@Override
- public final ResultQuery> sources(List schemas) {
+ public ResultQuery> sources(List schemas) {
return create()
.select(
inline("").as(VIEWS.TABLE_CATALOG),
diff --git a/jOOQ/src/main/java/org/jooq/impl/MetaSQL.java b/jOOQ/src/main/java/org/jooq/impl/MetaSQL.java
index 008601c79a..054568cf17 100644
--- a/jOOQ/src/main/java/org/jooq/impl/MetaSQL.java
+++ b/jOOQ/src/main/java/org/jooq/impl/MetaSQL.java
@@ -1,9 +1,94 @@
package org.jooq.impl;
-import static org.jooq.SQLDialect.*;
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+import static org.jooq.SQLDialect.DERBY;
+import static org.jooq.SQLDialect.DUCKDB;
+// ...
+import static org.jooq.SQLDialect.FIREBIRD;
+// ...
+// ...
+// ...
+import static org.jooq.SQLDialect.H2;
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+import static org.jooq.SQLDialect.HSQLDB;
+// ...
+import static org.jooq.SQLDialect.MARIADB;
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+import static org.jooq.SQLDialect.MYSQL;
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+import static org.jooq.SQLDialect.POSTGRES;
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+import static org.jooq.SQLDialect.SQLITE;
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+// ...
+import static org.jooq.SQLDialect.TRINO;
+// ...
+import static org.jooq.SQLDialect.YUGABYTEDB;
+// ...
import java.util.EnumMap;
+// ...
import org.jooq.SQLDialect;
// The queries generated by MetaGeneration from the various jOOQ-meta ResultQueryDatabase types.
@@ -15,6 +100,10 @@ final class MetaSQL {
private static final EnumMap M_SOURCES = new EnumMap<>(SQLDialect.class);
private static final EnumMap M_COMMENTS = new EnumMap<>(SQLDialect.class);
+
+
+
+
static final String M_UNIQUE_KEYS(SQLDialect dialect) {
String result = M_UNIQUE_KEYS.get(dialect);
return result != null ? result : M_UNIQUE_KEYS.get(dialect.family());
@@ -45,6 +134,16 @@ final class MetaSQL {
return result != null ? result : M_COMMENTS.get(dialect.family());
}
+
+
+
+
+
+
+
+
+
+
static {
M_UNIQUE_KEYS.put(DUCKDB, "select duckdb_constraints.database_name, duckdb_constraints.schema_name, duckdb_constraints.table_name, ((((((duckdb_constraints.database_name || '__') || duckdb_constraints.schema_name) || '__') || duckdb_constraints.table_name) || '__') || duckdb_constraints.constraint_text) constraint_text, unnest(duckdb_constraints.constraint_column_names) constraint_column_names, unnest(duckdb_constraints.constraint_column_indexes) constraint_column_indexes from duckdb_constraints() where (duckdb_constraints.constraint_type = 'UNIQUE' and duckdb_constraints.schema_name in (cast(? as varchar)))");
@@ -363,6 +462,72 @@ final class MetaSQL {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+