[#3382] NOT NULL constraints and type information are incorrectly generated when using Firebird DOMAINs for data types
This commit is contained in:
parent
32784a890d
commit
9a74f5c41f
@ -49,6 +49,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.jooq.Record;
|
||||
import org.jooq.impl.DSL;
|
||||
import org.jooq.util.AbstractTableDefinition;
|
||||
import org.jooq.util.ColumnDefinition;
|
||||
import org.jooq.util.DefaultColumnDefinition;
|
||||
@ -79,7 +80,7 @@ public class FirebirdTableDefinition extends AbstractTableDefinition {
|
||||
r.RDB$FIELD_NAME.trim(),
|
||||
r.RDB$DESCRIPTION,
|
||||
r.RDB$DEFAULT_VALUE,
|
||||
r.RDB$NULL_FLAG.nvl((short) 0),
|
||||
DSL.bitOr(r.RDB$NULL_FLAG.nvl((short) 0), f.RDB$NULL_FLAG.nvl((short) 0)).as(r.RDB$NULL_FLAG.getName()),
|
||||
r.RDB$DEFAULT_SOURCE,
|
||||
r.RDB$FIELD_POSITION,
|
||||
|
||||
@ -140,7 +141,7 @@ public class FirebirdTableDefinition extends AbstractTableDefinition {
|
||||
record.getValue("FIELD_LENGTH", short.class),
|
||||
record.getValue(f.RDB$FIELD_PRECISION),
|
||||
record.getValue("FIELD_SCALE", Integer.class),
|
||||
record.getValue(r.RDB$NULL_FLAG.nvl((short) 0)) == 0,
|
||||
record.getValue(r.RDB$NULL_FLAG) == 0,
|
||||
record.getValue(r.RDB$DEFAULT_SOURCE) != null
|
||||
);
|
||||
|
||||
|
||||
@ -43,6 +43,10 @@ DROP TABLE t_3342/
|
||||
DROP TABLE t_identity/
|
||||
DROP TABLE t_identity_pk/
|
||||
|
||||
DROP DOMAIN d_3382/
|
||||
|
||||
CREATE DOMAIN d_3382 AS INT NOT NULL/
|
||||
|
||||
|
||||
CREATE TABLE t_dates (
|
||||
id int,
|
||||
@ -228,9 +232,9 @@ CREATE TABLE x_unused (
|
||||
/
|
||||
|
||||
CREATE TABLE t_exotic_types (
|
||||
ID INT NOT NULL,
|
||||
ID d_3382 NOT NULL,
|
||||
UU CHAR(36),
|
||||
|
||||
|
||||
CONSTRAINT pk_t_exotic_types PRIMARY KEY(ID)
|
||||
);
|
||||
/
|
||||
@ -283,7 +287,7 @@ CREATE TABLE x_test_case_85 (
|
||||
CREATE TABLE x_test_case_2025 (
|
||||
ref_id int NOT NULL,
|
||||
ref_name VARCHAR(10) NOT NULL,
|
||||
|
||||
|
||||
CONSTRAINT fk_x_test_case_2025_1 FOREIGN KEY(ref_id) REFERENCES x_test_case_85(ID),
|
||||
CONSTRAINT fk_x_test_case_2025_2 FOREIGN KEY(ref_id) REFERENCES x_test_case_71(ID),
|
||||
CONSTRAINT fk_x_test_case_2025_3 FOREIGN KEY(ref_id, ref_name) REFERENCES X_UNUSED(id, name)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user