[#3342] Cannot INSERT into tables with Firebird BLOB types
This commit is contained in:
parent
0165b325f5
commit
c28bd2ceaa
@ -82,7 +82,12 @@ public class FirebirdTableDefinition extends AbstractTableDefinition {
|
||||
r.RDB$NULL_FLAG.nvl((short) 0),
|
||||
r.RDB$DEFAULT_SOURCE,
|
||||
r.RDB$FIELD_POSITION,
|
||||
f.RDB$FIELD_LENGTH,
|
||||
|
||||
// [#3342] FIELD_LENGTH should be ignored for LOBs
|
||||
decode().value(f.RDB$FIELD_TYPE)
|
||||
.when((short) 261, (short) 0)
|
||||
.otherwise(f.RDB$FIELD_LENGTH)
|
||||
.as("FIELD_LENGTH"),
|
||||
f.RDB$FIELD_PRECISION,
|
||||
f.RDB$FIELD_SCALE.neg().as("FIELD_SCALE"),
|
||||
|
||||
@ -132,7 +137,7 @@ public class FirebirdTableDefinition extends AbstractTableDefinition {
|
||||
getDatabase(),
|
||||
getSchema(),
|
||||
record.getValue("FIELD_TYPE", String.class),
|
||||
record.getValue(f.RDB$FIELD_LENGTH),
|
||||
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,
|
||||
|
||||
@ -36,6 +36,7 @@ DROP TABLE "t_941"/
|
||||
DROP TABLE T_943/
|
||||
DROP TABLE t_unsigned/
|
||||
DROP TABLE t_booleans/
|
||||
DROP TABLE t_3342/
|
||||
|
||||
|
||||
|
||||
@ -289,6 +290,11 @@ CREATE TABLE x_test_case_2025 (
|
||||
);
|
||||
/
|
||||
|
||||
CREATE TABLE t_3342 (
|
||||
b BLOB SUB_TYPE 1 SEGMENT SIZE 80 CHARACTER SET NONE COLLATE NONE
|
||||
);
|
||||
/
|
||||
|
||||
CREATE VIEW V_LIBRARY (AUTHOR, TITLE) AS
|
||||
SELECT T_AUTHOR.FIRST_NAME || ' ' || T_AUTHOR.LAST_NAME, T_BOOK.TITLE
|
||||
FROM T_AUTHOR JOIN T_BOOK ON T_BOOK.AUTHOR_ID = T_AUTHOR.ID;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user