[jOOQ/jOOQ#11784] Add code generation support for Firebird 3.0 stored functions

This commit is contained in:
Lukas Eder 2021-04-20 15:00:31 +02:00
parent 985b3e3e93
commit b15e774790
23 changed files with 635 additions and 92 deletions

View File

@ -47,12 +47,6 @@ import java.util.List;
*/
public interface RoutineDefinition extends Definition {
/**
* @return The routine's package. <code>null</code> if the routine is not in
* a package
*/
PackageDefinition getPackage();
/**
* A list of IN or INOUT parameter column definitions
*/

View File

@ -40,6 +40,7 @@ package org.jooq.meta.firebird;
import static java.util.stream.Collectors.mapping;
import static org.jooq.impl.DSL.any;
import static org.jooq.impl.DSL.choose;
import static org.jooq.impl.DSL.coalesce;
import static org.jooq.impl.DSL.decode;
import static org.jooq.impl.DSL.falseCondition;
import static org.jooq.impl.DSL.inline;
@ -52,16 +53,22 @@ import static org.jooq.impl.DSL.when;
import static org.jooq.impl.SQLDataType.BIGINT;
import static org.jooq.impl.SQLDataType.BOOLEAN;
import static org.jooq.impl.SQLDataType.INTEGER;
import static org.jooq.impl.SQLDataType.SMALLINT;
import static org.jooq.impl.SQLDataType.VARCHAR;
import static org.jooq.meta.firebird.rdb.Tables.RDB$CHECK_CONSTRAINTS;
import static org.jooq.meta.firebird.rdb.Tables.RDB$FIELDS;
import static org.jooq.meta.firebird.rdb.Tables.RDB$GENERATORS;
import static org.jooq.meta.firebird.rdb.Tables.RDB$FUNCTIONS;
import static org.jooq.meta.firebird.FirebirdDatabase.CHARACTER_LENGTH;
import static org.jooq.meta.firebird.FirebirdDatabase.FIELD_SCALE;
import static org.jooq.meta.firebird.FirebirdDatabase.FIELD_TYPE;
import static org.jooq.meta.firebird.rdb.Tables.*;
import static org.jooq.meta.firebird.rdb.Tables.RDB$INDEX_SEGMENTS;
import static org.jooq.meta.firebird.rdb.Tables.RDB$INDICES;
import static org.jooq.meta.firebird.rdb.Tables.RDB$PROCEDURES;
import static org.jooq.meta.firebird.rdb.Tables.RDB$REF_CONSTRAINTS;
import static org.jooq.meta.firebird.rdb.Tables.*;
import static org.jooq.meta.firebird.rdb.Tables.RDB$RELATIONS;
import static org.jooq.meta.firebird.rdb.Tables.RDB$RELATION_CONSTRAINTS;
import static org.jooq.meta.firebird.rdb.Tables.RDB$RELATION_FIELDS;
import static org.jooq.meta.firebird.rdb.Tables.RDB$TRIGGERS;
import java.sql.SQLException;
@ -84,6 +91,7 @@ import org.jooq.SQLDialect;
import org.jooq.SortOrder;
import org.jooq.TableOptions.TableType;
import org.jooq.impl.DSL;
import org.jooq.impl.SQLDataType;
import org.jooq.meta.AbstractDatabase;
import org.jooq.meta.AbstractIndexDefinition;
import org.jooq.meta.ArrayDefinition;
@ -108,8 +116,11 @@ import org.jooq.meta.TableDefinition;
import org.jooq.meta.UDTDefinition;
import org.jooq.meta.firebird.rdb.tables.Rdb$checkConstraints;
import org.jooq.meta.firebird.rdb.tables.Rdb$fields;
import org.jooq.meta.firebird.rdb.tables.Rdb$functionArguments;
import org.jooq.meta.firebird.rdb.tables.Rdb$functions;
import org.jooq.meta.firebird.rdb.tables.Rdb$indexSegments;
import org.jooq.meta.firebird.rdb.tables.Rdb$indices;
import org.jooq.meta.firebird.rdb.tables.Rdb$procedures;
import org.jooq.meta.firebird.rdb.tables.Rdb$refConstraints;
import org.jooq.meta.firebird.rdb.tables.Rdb$relationConstraints;
import org.jooq.meta.firebird.rdb.tables.Rdb$triggers;
@ -472,15 +483,49 @@ public class FirebirdDatabase extends AbstractDatabase implements ResultQueryDat
@Override
protected List<RoutineDefinition> getRoutines0() throws SQLException {
Rdb$procedures p = RDB$PROCEDURES.as("p");
Rdb$functions fu = RDB$FUNCTIONS.as("fu");
Rdb$functionArguments fa = RDB$FUNCTION_ARGUMENTS.as("fa");
Rdb$fields fi = RDB$FIELDS.as("fi");
return
create().select(RDB$PROCEDURES.RDB$PROCEDURE_NAME.trim())
.from(RDB$PROCEDURES)
create().select(
p.RDB$PROCEDURE_NAME.trim(),
inline(null, VARCHAR).as("t"),
inline(null, SMALLINT).as("p"),
inline(null, SMALLINT).as("s"))
.from(p)
// "executable" procedures
.where(RDB$PROCEDURES.RDB$PROCEDURE_TYPE.eq((short) 2))
.where(p.RDB$PROCEDURE_TYPE.eq((short) 2))
.union(is30()
? select(
fu.RDB$FUNCTION_NAME.trim(),
FIELD_TYPE(fi).as("t"),
coalesce(CHARACTER_LENGTH(fi), fi.RDB$FIELD_PRECISION).as("p"),
FIELD_SCALE(fi).as("s"))
.from(fu)
// [#11784] Procedures and functions live in different
// namespaces in Firebird. For now, such "overloads" are
// not yet supported.
.leftAntiJoin(p)
.on(fu.RDB$FUNCTION_NAME.eq(p.RDB$PROCEDURE_NAME))
.join(fa)
.on(fu.RDB$FUNCTION_NAME.eq(fa.RDB$FUNCTION_NAME))
.leftOuterJoin(fi)
.on(fa.RDB$FIELD_SOURCE.eq(fi.RDB$FIELD_NAME))
.where(fa.RDB$ARGUMENT_POSITION.eq(inline((short) 0)))
: select(inline(""), inline(""), inline((short) 0), inline((short) 0)).where(falseCondition()))
.orderBy(1)
.collect(mapping(
r -> new FirebirdRoutineDefinition(getSchemata().get(0), r.get(0, String.class)),
r -> new FirebirdRoutineDefinition(
getSchemata().get(0),
r.get(0, String.class),
r.get(1, String.class),
r.get(2, Integer.class),
r.get(3, Integer.class)
),
Collectors.<RoutineDefinition>toList()
));
}

View File

@ -37,10 +37,12 @@
*/
package org.jooq.meta.firebird;
import static org.jooq.impl.DSL.inline;
import static org.jooq.meta.firebird.FirebirdDatabase.CHARACTER_LENGTH;
import static org.jooq.meta.firebird.FirebirdDatabase.FIELD_SCALE;
import static org.jooq.meta.firebird.FirebirdDatabase.FIELD_TYPE;
import static org.jooq.meta.firebird.rdb.Tables.RDB$FIELDS;
import static org.jooq.meta.firebird.rdb.Tables.RDB$FUNCTION_ARGUMENTS;
import static org.jooq.meta.firebird.rdb.Tables.RDB$PROCEDURE_PARAMETERS;
import java.sql.SQLException;
@ -55,7 +57,9 @@ import org.jooq.meta.InOutDefinition;
import org.jooq.meta.ParameterDefinition;
import org.jooq.meta.SchemaDefinition;
import org.jooq.meta.firebird.rdb.tables.Rdb$fields;
import org.jooq.meta.firebird.rdb.tables.Rdb$functionArguments;
import org.jooq.meta.firebird.rdb.tables.Rdb$procedureParameters;
import org.jooq.tools.StringUtils;
/**
* @author Lukas Eder
@ -63,32 +67,70 @@ import org.jooq.meta.firebird.rdb.tables.Rdb$procedureParameters;
public class FirebirdRoutineDefinition extends AbstractRoutineDefinition {
public FirebirdRoutineDefinition(SchemaDefinition schema, String name) {
this(schema, name, null, null, null);
}
public FirebirdRoutineDefinition(SchemaDefinition schema, String name, String dataType, Number precision, Number scale) {
super(schema, null, name, null, null, false);
if (!StringUtils.isBlank(dataType)) {
DataTypeDefinition type = new DefaultDataTypeDefinition(
getDatabase(),
getSchema(),
dataType,
precision,
precision,
scale,
null,
(String) null
);
this.returnValue = new DefaultParameterDefinition(this, "RETURN_VALUE", -1, type);
}
}
@Override
protected void init0() throws SQLException {
Rdb$procedureParameters p = RDB$PROCEDURE_PARAMETERS.as("p");
Rdb$functionArguments a = RDB$FUNCTION_ARGUMENTS.as("a");
Rdb$fields f = RDB$FIELDS.as("f");
int i = 0;
for (Record record : create()
.select(
p.RDB$PARAMETER_NUMBER,
p.RDB$PARAMETER_TYPE,
p.RDB$PARAMETER_NAME.trim().as(p.RDB$PARAMETER_NAME),
FIELD_TYPE(f).as("FIELD_TYPE"),
CHARACTER_LENGTH(f).as("CHAR_LEN"),
f.RDB$FIELD_PRECISION,
FIELD_SCALE(f).as("FIELD_SCALE"),
DSL.bitOr(p.RDB$NULL_FLAG.nvl((short) 0), f.RDB$NULL_FLAG.nvl((short) 0)).as(p.RDB$NULL_FLAG),
p.RDB$DEFAULT_SOURCE)
.from(p)
.leftOuterJoin(f).on(p.RDB$FIELD_SOURCE.eq(f.RDB$FIELD_NAME))
.where(p.RDB$PROCEDURE_NAME.eq(getName()))
.orderBy(
p.RDB$PARAMETER_TYPE.desc(),
p.RDB$PARAMETER_NUMBER.asc())) {
for (Record record : returnValue == null
? create()
.select(
p.RDB$PARAMETER_NUMBER,
p.RDB$PARAMETER_TYPE,
p.RDB$PARAMETER_NAME.trim().as(p.RDB$PARAMETER_NAME),
FIELD_TYPE(f).as("FIELD_TYPE"),
CHARACTER_LENGTH(f).as("CHAR_LEN"),
f.RDB$FIELD_PRECISION,
FIELD_SCALE(f).as("FIELD_SCALE"),
DSL.bitOr(p.RDB$NULL_FLAG.nvl((short) 0), f.RDB$NULL_FLAG.nvl((short) 0)).as(p.RDB$NULL_FLAG),
p.RDB$DEFAULT_SOURCE)
.from(p)
.leftOuterJoin(f).on(p.RDB$FIELD_SOURCE.eq(f.RDB$FIELD_NAME))
.where(p.RDB$PROCEDURE_NAME.eq(getName()))
.orderBy(
p.RDB$PARAMETER_TYPE.desc(),
p.RDB$PARAMETER_NUMBER.asc())
: create()
.select(
a.RDB$ARGUMENT_POSITION.as(p.RDB$PARAMETER_NUMBER),
inline(0).as(p.RDB$PARAMETER_TYPE),
a.RDB$ARGUMENT_NAME.trim().as(p.RDB$PARAMETER_NAME),
FIELD_TYPE(f).as("FIELD_TYPE"),
CHARACTER_LENGTH(f).as("CHAR_LEN"),
f.RDB$FIELD_PRECISION,
FIELD_SCALE(f).as("FIELD_SCALE"),
DSL.bitOr(a.RDB$NULL_FLAG.nvl((short) 0), f.RDB$NULL_FLAG.nvl((short) 0)).as(p.RDB$NULL_FLAG),
a.RDB$DEFAULT_SOURCE)
.from(a)
.leftOuterJoin(f).on(a.RDB$FIELD_SOURCE.eq(f.RDB$FIELD_NAME))
.where(a.RDB$FUNCTION_NAME.eq(getName()))
.and(a.RDB$ARGUMENT_POSITION.gt(inline((short) 0)))
.orderBy(a.RDB$ARGUMENT_POSITION)
) {
DataTypeDefinition type = new DefaultDataTypeDefinition(
getDatabase(),

View File

@ -17,7 +17,7 @@ import org.jooq.impl.CatalogImpl;
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class DefaultCatalog extends CatalogImpl {
private static final long serialVersionUID = -454478492;
private static final long serialVersionUID = 1L;
/**
* The reference instance of <code>DEFAULT_CATALOG</code>
@ -38,7 +38,8 @@ public class DefaultCatalog extends CatalogImpl {
@Override
public final List<Schema> getSchemas() {
return Arrays.<Schema>asList(
DefaultSchema.DEFAULT_SCHEMA);
return Arrays.asList(
DefaultSchema.DEFAULT_SCHEMA
);
}
}

View File

@ -13,6 +13,8 @@ import org.jooq.Table;
import org.jooq.impl.SchemaImpl;
import org.jooq.meta.firebird.rdb.tables.Rdb$checkConstraints;
import org.jooq.meta.firebird.rdb.tables.Rdb$fields;
import org.jooq.meta.firebird.rdb.tables.Rdb$functionArguments;
import org.jooq.meta.firebird.rdb.tables.Rdb$functions;
import org.jooq.meta.firebird.rdb.tables.Rdb$generators;
import org.jooq.meta.firebird.rdb.tables.Rdb$indexSegments;
import org.jooq.meta.firebird.rdb.tables.Rdb$indices;
@ -31,7 +33,7 @@ import org.jooq.meta.firebird.rdb.tables.Rdb$triggers;
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class DefaultSchema extends SchemaImpl {
private static final long serialVersionUID = 1452293140;
private static final long serialVersionUID = 1L;
/**
* The reference instance of <code>DEFAULT_SCHEMA</code>
@ -48,6 +50,16 @@ public class DefaultSchema extends SchemaImpl {
*/
public final Rdb$fields RDB$FIELDS = Rdb$fields.RDB$FIELDS;
/**
* The table <code>RDB$FUNCTION_ARGUMENTS</code>.
*/
public final Rdb$functionArguments RDB$FUNCTION_ARGUMENTS = Rdb$functionArguments.RDB$FUNCTION_ARGUMENTS;
/**
* The table <code>RDB$FUNCTIONS</code>.
*/
public final Rdb$functions RDB$FUNCTIONS = Rdb$functions.RDB$FUNCTIONS;
/**
* The table <code>RDB$GENERATORS</code>.
*/
@ -113,15 +125,18 @@ public class DefaultSchema extends SchemaImpl {
@Override
public final List<Domain<?>> getDomains() {
return Arrays.<Domain<?>>asList(
Domains.RDB$PROCEDURE_PARAMETERS);
return Arrays.asList(
Domains.RDB$PROCEDURE_PARAMETERS
);
}
@Override
public final List<Table<?>> getTables() {
return Arrays.<Table<?>>asList(
return Arrays.asList(
Rdb$checkConstraints.RDB$CHECK_CONSTRAINTS,
Rdb$fields.RDB$FIELDS,
Rdb$functionArguments.RDB$FUNCTION_ARGUMENTS,
Rdb$functions.RDB$FUNCTIONS,
Rdb$generators.RDB$GENERATORS,
Rdb$indexSegments.RDB$INDEX_SEGMENTS,
Rdb$indices.RDB$INDICES,
@ -131,6 +146,7 @@ public class DefaultSchema extends SchemaImpl {
Rdb$relationConstraints.RDB$RELATION_CONSTRAINTS,
Rdb$relationFields.RDB$RELATION_FIELDS,
Rdb$relations.RDB$RELATIONS,
Rdb$triggers.RDB$TRIGGERS);
Rdb$triggers.RDB$TRIGGERS
);
}
}

View File

@ -9,7 +9,6 @@ import org.jooq.Schema;
import org.jooq.impl.DSL;
import org.jooq.impl.Internal;
import org.jooq.impl.LazySchema;
import org.jooq.impl.LazySupplier;
import org.jooq.impl.SQLDataType;
@ -29,11 +28,6 @@ public class Domains {
);
private static final Schema schema() {
return new LazySchema(DSL.name(""), DSL.comment(""), new LazySupplier<Schema>() {
@Override
public Schema get() {
return DefaultSchema.DEFAULT_SCHEMA;
}
});
return new LazySchema(DSL.name(""), DSL.comment(""), () -> DefaultSchema.DEFAULT_SCHEMA);
}
}

View File

@ -11,6 +11,7 @@ import org.jooq.UniqueKey;
import org.jooq.impl.DSL;
import org.jooq.impl.Internal;
import org.jooq.meta.firebird.rdb.tables.Rdb$fields;
import org.jooq.meta.firebird.rdb.tables.Rdb$functions;
import org.jooq.meta.firebird.rdb.tables.Rdb$generators;
import org.jooq.meta.firebird.rdb.tables.Rdb$indexSegments;
import org.jooq.meta.firebird.rdb.tables.Rdb$indices;
@ -24,8 +25,8 @@ import org.jooq.meta.firebird.rdb.tables.Rdb$triggers;
/**
* A class modelling foreign key relationships and constraints of tables in
* the default schema.
* A class modelling foreign key relationships and constraints of tables in the
* default schema.
*/
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Keys {
@ -35,6 +36,8 @@ public class Keys {
// -------------------------------------------------------------------------
public static final UniqueKey<Record> RDB$INDEX_2 = Internal.createUniqueKey(Rdb$fields.RDB$FIELDS, DSL.name("RDB$INDEX_2"), new TableField[] { Rdb$fields.RDB$FIELDS.RDB$FIELD_NAME }, true);
public static final UniqueKey<Record> RDB$INDEX_53 = Internal.createUniqueKey(Rdb$functions.RDB$FUNCTIONS, DSL.name("RDB$INDEX_53"), new TableField[] { Rdb$functions.RDB$FUNCTIONS.RDB$FUNCTION_ID }, true);
public static final UniqueKey<Record> RDB$INDEX_9 = Internal.createUniqueKey(Rdb$functions.RDB$FUNCTIONS, DSL.name("RDB$INDEX_9"), new TableField[] { Rdb$functions.RDB$FUNCTIONS.RDB$PACKAGE_NAME, Rdb$functions.RDB$FUNCTIONS.RDB$FUNCTION_NAME }, true);
public static final UniqueKey<Record> RDB$INDEX_11 = Internal.createUniqueKey(Rdb$generators.RDB$GENERATORS, DSL.name("RDB$INDEX_11"), new TableField[] { Rdb$generators.RDB$GENERATORS.RDB$GENERATOR_NAME }, true);
public static final UniqueKey<Record> RDB$INDEX_46 = Internal.createUniqueKey(Rdb$generators.RDB$GENERATORS, DSL.name("RDB$INDEX_46"), new TableField[] { Rdb$generators.RDB$GENERATORS.RDB$GENERATOR_ID }, true);
public static final UniqueKey<Record> RDB$INDEX_5 = Internal.createUniqueKey(Rdb$indices.RDB$INDICES, DSL.name("RDB$INDEX_5"), new TableField[] { Rdb$indices.RDB$INDICES.RDB$INDEX_NAME }, true);

View File

@ -6,6 +6,8 @@ package org.jooq.meta.firebird.rdb;
import org.jooq.meta.firebird.rdb.tables.Rdb$checkConstraints;
import org.jooq.meta.firebird.rdb.tables.Rdb$fields;
import org.jooq.meta.firebird.rdb.tables.Rdb$functionArguments;
import org.jooq.meta.firebird.rdb.tables.Rdb$functions;
import org.jooq.meta.firebird.rdb.tables.Rdb$generators;
import org.jooq.meta.firebird.rdb.tables.Rdb$indexSegments;
import org.jooq.meta.firebird.rdb.tables.Rdb$indices;
@ -34,6 +36,16 @@ public class Tables {
*/
public static final Rdb$fields RDB$FIELDS = Rdb$fields.RDB$FIELDS;
/**
* The table <code>RDB$FUNCTION_ARGUMENTS</code>.
*/
public static final Rdb$functionArguments RDB$FUNCTION_ARGUMENTS = Rdb$functionArguments.RDB$FUNCTION_ARGUMENTS;
/**
* The table <code>RDB$FUNCTIONS</code>.
*/
public static final Rdb$functions RDB$FUNCTIONS = Rdb$functions.RDB$FUNCTIONS;
/**
* The table <code>RDB$GENERATORS</code>.
*/

View File

@ -24,7 +24,7 @@ import org.jooq.meta.firebird.rdb.DefaultSchema;
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Rdb$checkConstraints extends TableImpl<Record> {
private static final long serialVersionUID = 1433691037;
private static final long serialVersionUID = 1L;
/**
* The reference instance of <code>RDB$CHECK_CONSTRAINTS</code>
@ -84,7 +84,7 @@ public class Rdb$checkConstraints extends TableImpl<Record> {
@Override
public Schema getSchema() {
return DefaultSchema.DEFAULT_SCHEMA;
return aliased() ? null : DefaultSchema.DEFAULT_SCHEMA;
}
@Override

View File

@ -29,7 +29,7 @@ import org.jooq.meta.firebird.rdb.Keys;
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Rdb$fields extends TableImpl<Record> {
private static final long serialVersionUID = 542355137;
private static final long serialVersionUID = 1L;
/**
* The reference instance of <code>RDB$FIELDS</code>
@ -229,12 +229,12 @@ public class Rdb$fields extends TableImpl<Record> {
@Override
public Schema getSchema() {
return DefaultSchema.DEFAULT_SCHEMA;
return aliased() ? null : DefaultSchema.DEFAULT_SCHEMA;
}
@Override
public List<UniqueKey<Record>> getKeys() {
return Arrays.<UniqueKey<Record>>asList(Keys.RDB$INDEX_2);
public List<UniqueKey<Record>> getUniqueKeys() {
return Arrays.asList(Keys.RDB$INDEX_2);
}
@Override

View File

@ -0,0 +1,215 @@
/*
* This file is generated by jOOQ.
*/
package org.jooq.meta.firebird.rdb.tables;
import org.jooq.Field;
import org.jooq.ForeignKey;
import org.jooq.Name;
import org.jooq.Record;
import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.TableField;
import org.jooq.TableOptions;
import org.jooq.impl.DSL;
import org.jooq.impl.SQLDataType;
import org.jooq.impl.TableImpl;
import org.jooq.meta.firebird.rdb.DefaultSchema;
/**
* This class is generated by jOOQ.
*/
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Rdb$functionArguments extends TableImpl<Record> {
private static final long serialVersionUID = 1L;
/**
* The reference instance of <code>RDB$FUNCTION_ARGUMENTS</code>
*/
public static final Rdb$functionArguments RDB$FUNCTION_ARGUMENTS = new Rdb$functionArguments();
/**
* The class holding records for this type
*/
@Override
public Class<Record> getRecordType() {
return Record.class;
}
/**
* The column <code>RDB$FUNCTION_ARGUMENTS.RDB$FUNCTION_NAME</code>.
*/
public final TableField<Record, String> RDB$FUNCTION_NAME = createField(DSL.name("RDB$FUNCTION_NAME"), SQLDataType.CHAR(31), this, "");
/**
* The column <code>RDB$FUNCTION_ARGUMENTS.RDB$ARGUMENT_POSITION</code>.
*/
public final TableField<Record, Short> RDB$ARGUMENT_POSITION = createField(DSL.name("RDB$ARGUMENT_POSITION"), SQLDataType.SMALLINT, this, "");
/**
* The column <code>RDB$FUNCTION_ARGUMENTS.RDB$MECHANISM</code>.
*/
public final TableField<Record, Short> RDB$MECHANISM = createField(DSL.name("RDB$MECHANISM"), SQLDataType.SMALLINT, this, "");
/**
* The column <code>RDB$FUNCTION_ARGUMENTS.RDB$FIELD_TYPE</code>.
*/
public final TableField<Record, Short> RDB$FIELD_TYPE = createField(DSL.name("RDB$FIELD_TYPE"), SQLDataType.SMALLINT, this, "");
/**
* The column <code>RDB$FUNCTION_ARGUMENTS.RDB$FIELD_SCALE</code>.
*/
public final TableField<Record, Short> RDB$FIELD_SCALE = createField(DSL.name("RDB$FIELD_SCALE"), SQLDataType.SMALLINT, this, "");
/**
* The column <code>RDB$FUNCTION_ARGUMENTS.RDB$FIELD_LENGTH</code>.
*/
public final TableField<Record, Short> RDB$FIELD_LENGTH = createField(DSL.name("RDB$FIELD_LENGTH"), SQLDataType.SMALLINT, this, "");
/**
* The column <code>RDB$FUNCTION_ARGUMENTS.RDB$FIELD_SUB_TYPE</code>.
*/
public final TableField<Record, Short> RDB$FIELD_SUB_TYPE = createField(DSL.name("RDB$FIELD_SUB_TYPE"), SQLDataType.SMALLINT, this, "");
/**
* The column <code>RDB$FUNCTION_ARGUMENTS.RDB$CHARACTER_SET_ID</code>.
*/
public final TableField<Record, Short> RDB$CHARACTER_SET_ID = createField(DSL.name("RDB$CHARACTER_SET_ID"), SQLDataType.SMALLINT, this, "");
/**
* The column <code>RDB$FUNCTION_ARGUMENTS.RDB$FIELD_PRECISION</code>.
*/
public final TableField<Record, Short> RDB$FIELD_PRECISION = createField(DSL.name("RDB$FIELD_PRECISION"), SQLDataType.SMALLINT, this, "");
/**
* The column <code>RDB$FUNCTION_ARGUMENTS.RDB$CHARACTER_LENGTH</code>.
*/
public final TableField<Record, Short> RDB$CHARACTER_LENGTH = createField(DSL.name("RDB$CHARACTER_LENGTH"), SQLDataType.SMALLINT, this, "");
/**
* The column <code>RDB$FUNCTION_ARGUMENTS.RDB$PACKAGE_NAME</code>.
*/
public final TableField<Record, String> RDB$PACKAGE_NAME = createField(DSL.name("RDB$PACKAGE_NAME"), SQLDataType.CHAR(31), this, "");
/**
* The column <code>RDB$FUNCTION_ARGUMENTS.RDB$ARGUMENT_NAME</code>.
*/
public final TableField<Record, String> RDB$ARGUMENT_NAME = createField(DSL.name("RDB$ARGUMENT_NAME"), SQLDataType.CHAR(31), this, "");
/**
* The column <code>RDB$FUNCTION_ARGUMENTS.RDB$FIELD_SOURCE</code>.
*/
public final TableField<Record, String> RDB$FIELD_SOURCE = createField(DSL.name("RDB$FIELD_SOURCE"), SQLDataType.CHAR(31), this, "");
/**
* The column <code>RDB$FUNCTION_ARGUMENTS.RDB$DEFAULT_VALUE</code>.
*/
public final TableField<Record, byte[]> RDB$DEFAULT_VALUE = createField(DSL.name("RDB$DEFAULT_VALUE"), SQLDataType.BLOB, this, "");
/**
* The column <code>RDB$FUNCTION_ARGUMENTS.RDB$DEFAULT_SOURCE</code>.
*/
public final TableField<Record, String> RDB$DEFAULT_SOURCE = createField(DSL.name("RDB$DEFAULT_SOURCE"), SQLDataType.CLOB, this, "");
/**
* The column <code>RDB$FUNCTION_ARGUMENTS.RDB$COLLATION_ID</code>.
*/
public final TableField<Record, Short> RDB$COLLATION_ID = createField(DSL.name("RDB$COLLATION_ID"), SQLDataType.SMALLINT, this, "");
/**
* The column <code>RDB$FUNCTION_ARGUMENTS.RDB$NULL_FLAG</code>.
*/
public final TableField<Record, Short> RDB$NULL_FLAG = createField(DSL.name("RDB$NULL_FLAG"), SQLDataType.SMALLINT, this, "");
/**
* The column <code>RDB$FUNCTION_ARGUMENTS.RDB$ARGUMENT_MECHANISM</code>.
*/
public final TableField<Record, Short> RDB$ARGUMENT_MECHANISM = createField(DSL.name("RDB$ARGUMENT_MECHANISM"), SQLDataType.SMALLINT, this, "");
/**
* The column <code>RDB$FUNCTION_ARGUMENTS.RDB$FIELD_NAME</code>.
*/
public final TableField<Record, String> RDB$FIELD_NAME = createField(DSL.name("RDB$FIELD_NAME"), SQLDataType.CHAR(31), this, "");
/**
* The column <code>RDB$FUNCTION_ARGUMENTS.RDB$RELATION_NAME</code>.
*/
public final TableField<Record, String> RDB$RELATION_NAME = createField(DSL.name("RDB$RELATION_NAME"), SQLDataType.CHAR(31), this, "");
/**
* The column <code>RDB$FUNCTION_ARGUMENTS.RDB$SYSTEM_FLAG</code>.
*/
public final TableField<Record, Short> RDB$SYSTEM_FLAG = createField(DSL.name("RDB$SYSTEM_FLAG"), SQLDataType.SMALLINT.nullable(false), this, "");
/**
* The column <code>RDB$FUNCTION_ARGUMENTS.RDB$DESCRIPTION</code>.
*/
public final TableField<Record, String> RDB$DESCRIPTION = createField(DSL.name("RDB$DESCRIPTION"), SQLDataType.CLOB, this, "");
private Rdb$functionArguments(Name alias, Table<Record> aliased) {
this(alias, aliased, null);
}
private Rdb$functionArguments(Name alias, Table<Record> aliased, Field<?>[] parameters) {
super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table());
}
/**
* Create an aliased <code>RDB$FUNCTION_ARGUMENTS</code> table reference
*/
public Rdb$functionArguments(String alias) {
this(DSL.name(alias), RDB$FUNCTION_ARGUMENTS);
}
/**
* Create an aliased <code>RDB$FUNCTION_ARGUMENTS</code> table reference
*/
public Rdb$functionArguments(Name alias) {
this(alias, RDB$FUNCTION_ARGUMENTS);
}
/**
* Create a <code>RDB$FUNCTION_ARGUMENTS</code> table reference
*/
public Rdb$functionArguments() {
this(DSL.name("RDB$FUNCTION_ARGUMENTS"), null);
}
public <O extends Record> Rdb$functionArguments(Table<O> child, ForeignKey<O, Record> key) {
super(child, key, RDB$FUNCTION_ARGUMENTS);
}
@Override
public Schema getSchema() {
return aliased() ? null : DefaultSchema.DEFAULT_SCHEMA;
}
@Override
public Rdb$functionArguments as(String alias) {
return new Rdb$functionArguments(DSL.name(alias), this);
}
@Override
public Rdb$functionArguments as(Name alias) {
return new Rdb$functionArguments(alias, this);
}
/**
* Rename this table
*/
@Override
public Rdb$functionArguments rename(String name) {
return new Rdb$functionArguments(DSL.name(name), null);
}
/**
* Rename this table
*/
@Override
public Rdb$functionArguments rename(Name name) {
return new Rdb$functionArguments(name, null);
}
}

View File

@ -0,0 +1,215 @@
/*
* This file is generated by jOOQ.
*/
package org.jooq.meta.firebird.rdb.tables;
import java.util.Arrays;
import java.util.List;
import org.jooq.Field;
import org.jooq.ForeignKey;
import org.jooq.Name;
import org.jooq.Record;
import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.TableField;
import org.jooq.TableOptions;
import org.jooq.UniqueKey;
import org.jooq.impl.DSL;
import org.jooq.impl.SQLDataType;
import org.jooq.impl.TableImpl;
import org.jooq.meta.firebird.rdb.DefaultSchema;
import org.jooq.meta.firebird.rdb.Keys;
/**
* This class is generated by jOOQ.
*/
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Rdb$functions extends TableImpl<Record> {
private static final long serialVersionUID = 1L;
/**
* The reference instance of <code>RDB$FUNCTIONS</code>
*/
public static final Rdb$functions RDB$FUNCTIONS = new Rdb$functions();
/**
* The class holding records for this type
*/
@Override
public Class<Record> getRecordType() {
return Record.class;
}
/**
* The column <code>RDB$FUNCTIONS.RDB$FUNCTION_NAME</code>.
*/
public final TableField<Record, String> RDB$FUNCTION_NAME = createField(DSL.name("RDB$FUNCTION_NAME"), SQLDataType.CHAR(31), this, "");
/**
* The column <code>RDB$FUNCTIONS.RDB$FUNCTION_TYPE</code>.
*/
public final TableField<Record, Short> RDB$FUNCTION_TYPE = createField(DSL.name("RDB$FUNCTION_TYPE"), SQLDataType.SMALLINT, this, "");
/**
* The column <code>RDB$FUNCTIONS.RDB$QUERY_NAME</code>.
*/
public final TableField<Record, String> RDB$QUERY_NAME = createField(DSL.name("RDB$QUERY_NAME"), SQLDataType.CHAR(31), this, "");
/**
* The column <code>RDB$FUNCTIONS.RDB$DESCRIPTION</code>.
*/
public final TableField<Record, String> RDB$DESCRIPTION = createField(DSL.name("RDB$DESCRIPTION"), SQLDataType.CLOB, this, "");
/**
* The column <code>RDB$FUNCTIONS.RDB$MODULE_NAME</code>.
*/
public final TableField<Record, String> RDB$MODULE_NAME = createField(DSL.name("RDB$MODULE_NAME"), SQLDataType.VARCHAR, this, "");
/**
* The column <code>RDB$FUNCTIONS.RDB$ENTRYPOINT</code>.
*/
public final TableField<Record, String> RDB$ENTRYPOINT = createField(DSL.name("RDB$ENTRYPOINT"), SQLDataType.CHAR, this, "");
/**
* The column <code>RDB$FUNCTIONS.RDB$RETURN_ARGUMENT</code>.
*/
public final TableField<Record, Short> RDB$RETURN_ARGUMENT = createField(DSL.name("RDB$RETURN_ARGUMENT"), SQLDataType.SMALLINT, this, "");
/**
* The column <code>RDB$FUNCTIONS.RDB$SYSTEM_FLAG</code>.
*/
public final TableField<Record, Short> RDB$SYSTEM_FLAG = createField(DSL.name("RDB$SYSTEM_FLAG"), SQLDataType.SMALLINT.nullable(false), this, "");
/**
* The column <code>RDB$FUNCTIONS.RDB$ENGINE_NAME</code>.
*/
public final TableField<Record, String> RDB$ENGINE_NAME = createField(DSL.name("RDB$ENGINE_NAME"), SQLDataType.CHAR(31), this, "");
/**
* The column <code>RDB$FUNCTIONS.RDB$PACKAGE_NAME</code>.
*/
public final TableField<Record, String> RDB$PACKAGE_NAME = createField(DSL.name("RDB$PACKAGE_NAME"), SQLDataType.CHAR(31), this, "");
/**
* The column <code>RDB$FUNCTIONS.RDB$PRIVATE_FLAG</code>.
*/
public final TableField<Record, Short> RDB$PRIVATE_FLAG = createField(DSL.name("RDB$PRIVATE_FLAG"), SQLDataType.SMALLINT, this, "");
/**
* The column <code>RDB$FUNCTIONS.RDB$FUNCTION_SOURCE</code>.
*/
public final TableField<Record, String> RDB$FUNCTION_SOURCE = createField(DSL.name("RDB$FUNCTION_SOURCE"), SQLDataType.CLOB, this, "");
/**
* The column <code>RDB$FUNCTIONS.RDB$FUNCTION_ID</code>.
*/
public final TableField<Record, Short> RDB$FUNCTION_ID = createField(DSL.name("RDB$FUNCTION_ID"), SQLDataType.SMALLINT, this, "");
/**
* The column <code>RDB$FUNCTIONS.RDB$FUNCTION_BLR</code>.
*/
public final TableField<Record, byte[]> RDB$FUNCTION_BLR = createField(DSL.name("RDB$FUNCTION_BLR"), SQLDataType.BLOB, this, "");
/**
* The column <code>RDB$FUNCTIONS.RDB$VALID_BLR</code>.
*/
public final TableField<Record, Short> RDB$VALID_BLR = createField(DSL.name("RDB$VALID_BLR"), SQLDataType.SMALLINT, this, "");
/**
* The column <code>RDB$FUNCTIONS.RDB$DEBUG_INFO</code>.
*/
public final TableField<Record, byte[]> RDB$DEBUG_INFO = createField(DSL.name("RDB$DEBUG_INFO"), SQLDataType.BLOB, this, "");
/**
* The column <code>RDB$FUNCTIONS.RDB$SECURITY_CLASS</code>.
*/
public final TableField<Record, String> RDB$SECURITY_CLASS = createField(DSL.name("RDB$SECURITY_CLASS"), SQLDataType.CHAR(31), this, "");
/**
* The column <code>RDB$FUNCTIONS.RDB$OWNER_NAME</code>.
*/
public final TableField<Record, String> RDB$OWNER_NAME = createField(DSL.name("RDB$OWNER_NAME"), SQLDataType.CHAR(31), this, "");
/**
* The column <code>RDB$FUNCTIONS.RDB$LEGACY_FLAG</code>.
*/
public final TableField<Record, Short> RDB$LEGACY_FLAG = createField(DSL.name("RDB$LEGACY_FLAG"), SQLDataType.SMALLINT, this, "");
/**
* The column <code>RDB$FUNCTIONS.RDB$DETERMINISTIC_FLAG</code>.
*/
public final TableField<Record, Short> RDB$DETERMINISTIC_FLAG = createField(DSL.name("RDB$DETERMINISTIC_FLAG"), SQLDataType.SMALLINT, this, "");
private Rdb$functions(Name alias, Table<Record> aliased) {
this(alias, aliased, null);
}
private Rdb$functions(Name alias, Table<Record> aliased, Field<?>[] parameters) {
super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table());
}
/**
* Create an aliased <code>RDB$FUNCTIONS</code> table reference
*/
public Rdb$functions(String alias) {
this(DSL.name(alias), RDB$FUNCTIONS);
}
/**
* Create an aliased <code>RDB$FUNCTIONS</code> table reference
*/
public Rdb$functions(Name alias) {
this(alias, RDB$FUNCTIONS);
}
/**
* Create a <code>RDB$FUNCTIONS</code> table reference
*/
public Rdb$functions() {
this(DSL.name("RDB$FUNCTIONS"), null);
}
public <O extends Record> Rdb$functions(Table<O> child, ForeignKey<O, Record> key) {
super(child, key, RDB$FUNCTIONS);
}
@Override
public Schema getSchema() {
return aliased() ? null : DefaultSchema.DEFAULT_SCHEMA;
}
@Override
public List<UniqueKey<Record>> getUniqueKeys() {
return Arrays.asList(Keys.RDB$INDEX_9, Keys.RDB$INDEX_53);
}
@Override
public Rdb$functions as(String alias) {
return new Rdb$functions(DSL.name(alias), this);
}
@Override
public Rdb$functions as(Name alias) {
return new Rdb$functions(alias, this);
}
/**
* Rename this table
*/
@Override
public Rdb$functions rename(String name) {
return new Rdb$functions(DSL.name(name), null);
}
/**
* Rename this table
*/
@Override
public Rdb$functions rename(Name name) {
return new Rdb$functions(name, null);
}
}

View File

@ -29,7 +29,7 @@ import org.jooq.meta.firebird.rdb.Keys;
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Rdb$generators extends TableImpl<Record> {
private static final long serialVersionUID = -1552014164;
private static final long serialVersionUID = 1L;
/**
* The reference instance of <code>RDB$GENERATORS</code>
@ -119,12 +119,12 @@ public class Rdb$generators extends TableImpl<Record> {
@Override
public Schema getSchema() {
return DefaultSchema.DEFAULT_SCHEMA;
return aliased() ? null : DefaultSchema.DEFAULT_SCHEMA;
}
@Override
public List<UniqueKey<Record>> getKeys() {
return Arrays.<UniqueKey<Record>>asList(Keys.RDB$INDEX_11, Keys.RDB$INDEX_46);
public List<UniqueKey<Record>> getUniqueKeys() {
return Arrays.asList(Keys.RDB$INDEX_11, Keys.RDB$INDEX_46);
}
@Override

View File

@ -28,7 +28,7 @@ import org.jooq.meta.firebird.rdb.Keys;
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Rdb$indexSegments extends TableImpl<Record> {
private static final long serialVersionUID = -1285289609;
private static final long serialVersionUID = 1L;
/**
* The reference instance of <code>RDB$INDEX_SEGMENTS</code>
@ -98,16 +98,21 @@ public class Rdb$indexSegments extends TableImpl<Record> {
@Override
public Schema getSchema() {
return DefaultSchema.DEFAULT_SCHEMA;
return aliased() ? null : DefaultSchema.DEFAULT_SCHEMA;
}
@Override
public List<ForeignKey<Record, ?>> getReferences() {
return Arrays.<ForeignKey<Record, ?>>asList(Keys.SYNTHETIC_FK_RDB$INDEX_SEGMENTS__RDB$INDEX_5);
return Arrays.asList(Keys.SYNTHETIC_FK_RDB$INDEX_SEGMENTS__RDB$INDEX_5);
}
private transient Rdb$indices _rdb$indices;
public Rdb$indices rdb$indices() {
return new Rdb$indices(this, Keys.SYNTHETIC_FK_RDB$INDEX_SEGMENTS__RDB$INDEX_5);
if (_rdb$indices == null)
_rdb$indices = new Rdb$indices(this, Keys.SYNTHETIC_FK_RDB$INDEX_SEGMENTS__RDB$INDEX_5);
return _rdb$indices;
}
@Override

View File

@ -29,7 +29,7 @@ import org.jooq.meta.firebird.rdb.Keys;
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Rdb$indices extends TableImpl<Record> {
private static final long serialVersionUID = 934712412;
private static final long serialVersionUID = 1L;
/**
* The reference instance of <code>RDB$INDICES</code>
@ -144,12 +144,12 @@ public class Rdb$indices extends TableImpl<Record> {
@Override
public Schema getSchema() {
return DefaultSchema.DEFAULT_SCHEMA;
return aliased() ? null : DefaultSchema.DEFAULT_SCHEMA;
}
@Override
public List<UniqueKey<Record>> getKeys() {
return Arrays.<UniqueKey<Record>>asList(Keys.RDB$INDEX_5);
public List<UniqueKey<Record>> getUniqueKeys() {
return Arrays.asList(Keys.RDB$INDEX_5);
}
@Override

View File

@ -29,7 +29,7 @@ import org.jooq.meta.firebird.rdb.Keys;
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Rdb$procedureParameters extends TableImpl<Record> {
private static final long serialVersionUID = 1990438625;
private static final long serialVersionUID = 1L;
/**
* The reference instance of <code>RDB$PROCEDURE_PARAMETERS</code>
@ -154,12 +154,12 @@ public class Rdb$procedureParameters extends TableImpl<Record> {
@Override
public Schema getSchema() {
return DefaultSchema.DEFAULT_SCHEMA;
return aliased() ? null : DefaultSchema.DEFAULT_SCHEMA;
}
@Override
public List<UniqueKey<Record>> getKeys() {
return Arrays.<UniqueKey<Record>>asList(Keys.RDB$INDEX_18);
public List<UniqueKey<Record>> getUniqueKeys() {
return Arrays.asList(Keys.RDB$INDEX_18);
}
@Override

View File

@ -29,7 +29,7 @@ import org.jooq.meta.firebird.rdb.Keys;
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Rdb$procedures extends TableImpl<Record> {
private static final long serialVersionUID = 1114120556;
private static final long serialVersionUID = 1L;
/**
* The reference instance of <code>RDB$PROCEDURES</code>
@ -169,12 +169,12 @@ public class Rdb$procedures extends TableImpl<Record> {
@Override
public Schema getSchema() {
return DefaultSchema.DEFAULT_SCHEMA;
return aliased() ? null : DefaultSchema.DEFAULT_SCHEMA;
}
@Override
public List<UniqueKey<Record>> getKeys() {
return Arrays.<UniqueKey<Record>>asList(Keys.RDB$INDEX_21, Keys.RDB$INDEX_22);
public List<UniqueKey<Record>> getUniqueKeys() {
return Arrays.asList(Keys.RDB$INDEX_21, Keys.RDB$INDEX_22);
}
@Override

View File

@ -29,7 +29,7 @@ import org.jooq.meta.firebird.rdb.Keys;
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Rdb$refConstraints extends TableImpl<Record> {
private static final long serialVersionUID = 1352129042;
private static final long serialVersionUID = 1L;
/**
* The reference instance of <code>RDB$REF_CONSTRAINTS</code>
@ -104,12 +104,12 @@ public class Rdb$refConstraints extends TableImpl<Record> {
@Override
public Schema getSchema() {
return DefaultSchema.DEFAULT_SCHEMA;
return aliased() ? null : DefaultSchema.DEFAULT_SCHEMA;
}
@Override
public List<UniqueKey<Record>> getKeys() {
return Arrays.<UniqueKey<Record>>asList(Keys.RDB$INDEX_13);
public List<UniqueKey<Record>> getUniqueKeys() {
return Arrays.asList(Keys.RDB$INDEX_13);
}
@Override

View File

@ -29,7 +29,7 @@ import org.jooq.meta.firebird.rdb.Keys;
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Rdb$relationConstraints extends TableImpl<Record> {
private static final long serialVersionUID = -465440119;
private static final long serialVersionUID = 1L;
/**
* The reference instance of <code>RDB$RELATION_CONSTRAINTS</code>
@ -109,12 +109,12 @@ public class Rdb$relationConstraints extends TableImpl<Record> {
@Override
public Schema getSchema() {
return DefaultSchema.DEFAULT_SCHEMA;
return aliased() ? null : DefaultSchema.DEFAULT_SCHEMA;
}
@Override
public List<UniqueKey<Record>> getKeys() {
return Arrays.<UniqueKey<Record>>asList(Keys.RDB$INDEX_12);
public List<UniqueKey<Record>> getUniqueKeys() {
return Arrays.asList(Keys.RDB$INDEX_12);
}
@Override

View File

@ -29,7 +29,7 @@ import org.jooq.meta.firebird.rdb.Keys;
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Rdb$relationFields extends TableImpl<Record> {
private static final long serialVersionUID = -927360807;
private static final long serialVersionUID = 1L;
/**
* The reference instance of <code>RDB$RELATION_FIELDS</code>
@ -184,12 +184,12 @@ public class Rdb$relationFields extends TableImpl<Record> {
@Override
public Schema getSchema() {
return DefaultSchema.DEFAULT_SCHEMA;
return aliased() ? null : DefaultSchema.DEFAULT_SCHEMA;
}
@Override
public List<UniqueKey<Record>> getKeys() {
return Arrays.<UniqueKey<Record>>asList(Keys.RDB$INDEX_15);
public List<UniqueKey<Record>> getUniqueKeys() {
return Arrays.asList(Keys.RDB$INDEX_15);
}
@Override

View File

@ -29,7 +29,7 @@ import org.jooq.meta.firebird.rdb.Keys;
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Rdb$relations extends TableImpl<Record> {
private static final long serialVersionUID = -1226016355;
private static final long serialVersionUID = 1L;
/**
* The reference instance of <code>RDB$RELATIONS</code>
@ -164,12 +164,12 @@ public class Rdb$relations extends TableImpl<Record> {
@Override
public Schema getSchema() {
return DefaultSchema.DEFAULT_SCHEMA;
return aliased() ? null : DefaultSchema.DEFAULT_SCHEMA;
}
@Override
public List<UniqueKey<Record>> getKeys() {
return Arrays.<UniqueKey<Record>>asList(Keys.RDB$INDEX_0);
public List<UniqueKey<Record>> getUniqueKeys() {
return Arrays.asList(Keys.RDB$INDEX_0);
}
@Override

View File

@ -29,7 +29,7 @@ import org.jooq.meta.firebird.rdb.Keys;
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Rdb$triggers extends TableImpl<Record> {
private static final long serialVersionUID = 745453431;
private static final long serialVersionUID = 1L;
/**
* The reference instance of <code>RDB$TRIGGERS</code>
@ -149,12 +149,12 @@ public class Rdb$triggers extends TableImpl<Record> {
@Override
public Schema getSchema() {
return DefaultSchema.DEFAULT_SCHEMA;
return aliased() ? null : DefaultSchema.DEFAULT_SCHEMA;
}
@Override
public List<UniqueKey<Record>> getKeys() {
return Arrays.<UniqueKey<Record>>asList(Keys.RDB$INDEX_8);
public List<UniqueKey<Record>> getUniqueKeys() {
return Arrays.asList(Keys.RDB$INDEX_8);
}
@Override

View File

@ -395,6 +395,7 @@ public abstract class AbstractRoutine<T> extends AbstractNamed implements Routin
else {
}
case FIREBIRD:
case H2: