Skip to content

Commit 1a9fb83

Browse files
artembilangaryrussell
authored andcommitted
GH-3129: Use VARCHAR2 for non-fixed strings (#3133)
Fixes #3129 The `CHAR` type in Oracle is for fixed length values. If the value is not of expected length it is padded with whitespaces. This causes wrong assumptions when we perform queries against tables. * Change the `CHAR` into a `VARCHAR2` in those tables for Oracle where we don't have values with a fixed length. In fact only `MESSAGE_ID` comes with always fixed length as `36` because it is fully based on the `UUID`
1 parent 939e49c commit 1a9fb83

File tree

1 file changed

+5
-6
lines changed
  • spring-integration-jdbc/src/main/resources/org/springframework/integration/jdbc

1 file changed

+5
-6
lines changed

spring-integration-jdbc/src/main/resources/org/springframework/integration/jdbc/schema-oracle.sql

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@ CREATE TABLE INT_MESSAGE (
99
CREATE INDEX INT_MESSAGE_IX1 ON INT_MESSAGE (CREATED_DATE);
1010

1111
CREATE TABLE INT_GROUP_TO_MESSAGE (
12-
GROUP_KEY CHAR(36) NOT NULL,
12+
GROUP_KEY VARCHAR2(36) NOT NULL,
1313
MESSAGE_ID CHAR(36) NOT NULL,
1414
REGION VARCHAR2(100),
1515
constraint INT_GROUP_TO_MESSAGE_PK primary key (GROUP_KEY, MESSAGE_ID, REGION)
1616
);
1717

1818
CREATE TABLE INT_MESSAGE_GROUP (
19-
GROUP_KEY CHAR(36) NOT NULL,
19+
GROUP_KEY VARCHAR2(36) NOT NULL,
2020
REGION VARCHAR2(100) NOT NULL,
2121
MARKED NUMBER(19,0),
2222
COMPLETE NUMBER(19,0),
@@ -27,9 +27,9 @@ CREATE TABLE INT_MESSAGE_GROUP (
2727
);
2828

2929
CREATE TABLE INT_LOCK (
30-
LOCK_KEY CHAR(36) NOT NULL,
30+
LOCK_KEY VARCHAR2(36) NOT NULL,
3131
REGION VARCHAR2(100) NOT NULL,
32-
CLIENT_ID CHAR(36),
32+
CLIENT_ID VARCHAR2(36),
3333
CREATED_DATE TIMESTAMP NOT NULL,
3434
constraint INT_LOCK_PK primary key (LOCK_KEY, REGION)
3535
);
@@ -38,7 +38,7 @@ CREATE SEQUENCE INT_MESSAGE_SEQ START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
3838

3939
CREATE TABLE INT_CHANNEL_MESSAGE (
4040
MESSAGE_ID CHAR(36) NOT NULL,
41-
GROUP_KEY CHAR(36) NOT NULL,
41+
GROUP_KEY VARCHAR2(36) NOT NULL,
4242
CREATED_DATE NUMBER(19,0) NOT NULL,
4343
MESSAGE_PRIORITY NUMBER(19,0),
4444
MESSAGE_SEQUENCE NUMBER(19,0) NOT NULL ,
@@ -51,7 +51,6 @@ CREATE INDEX INT_CHANNEL_MSG_DELETE_IDX ON INT_CHANNEL_MESSAGE (REGION, GROUP_KE
5151
-- This is only needed if the message group store property 'priorityEnabled' is true
5252
-- CREATE UNIQUE INDEX INT_CHANNEL_MSG_PRIORITY_IDX ON INT_CHANNEL_MESSAGE (REGION, GROUP_KEY, MESSAGE_PRIORITY DESC, CREATED_DATE, MESSAGE_SEQUENCE);
5353

54-
5554
CREATE TABLE INT_METADATA_STORE (
5655
METADATA_KEY VARCHAR2(255) NOT NULL,
5756
METADATA_VALUE VARCHAR2(4000),

0 commit comments

Comments
 (0)