Skip to content

Commit cede49a

Browse files
committed
CC-265: JDBC Sink: make the Oracle integer type mappings more precise
1 parent be9dd22 commit cede49a

File tree

2 files changed

+22
-22
lines changed

2 files changed

+22
-22
lines changed

src/main/java/io/confluent/connect/jdbc/sink/dialect/OracleDialect.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,13 @@ public OracleDialect() {
3636

3737
private static Map<Schema.Type, String> getSqlTypeMap() {
3838
Map<Schema.Type, String> map = new HashMap<>();
39-
map.put(Schema.Type.INT8, "NUMBER");
40-
map.put(Schema.Type.INT16, "NUMBER");
41-
map.put(Schema.Type.INT32, "NUMBER");
42-
map.put(Schema.Type.INT64, "NUMBER");
39+
map.put(Schema.Type.INT8, "NUMBER(3,0)");
40+
map.put(Schema.Type.INT16, "NUMBER(5,0)");
41+
map.put(Schema.Type.INT32, "NUMBER(10,0)");
42+
map.put(Schema.Type.INT64, "NUMBER(19,0)");
4343
map.put(Schema.Type.FLOAT32, "BINARY_FLOAT");
4444
map.put(Schema.Type.FLOAT64, "BINARY_DOUBLE");
45-
map.put(Schema.Type.BOOLEAN, "NUMBER");
45+
map.put(Schema.Type.BOOLEAN, "NUMBER(1,0)");
4646
map.put(Schema.Type.STRING, "NVARCHAR2(4000)");
4747
map.put(Schema.Type.BYTES, "BLOB");
4848
return map;

src/test/java/io/confluent/connect/jdbc/sink/dialect/OracleDialectTest.java

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ public void handleCreateTableMultiplePKColumns() {
3939
));
4040

4141
String expected = "CREATE TABLE \"tableA\" (" + System.lineSeparator() +
42-
"\"userid\" NUMBER NOT NULL," + System.lineSeparator() +
43-
"\"userdataid\" NUMBER NOT NULL," + System.lineSeparator() +
42+
"\"userid\" NUMBER(10,0) NOT NULL," + System.lineSeparator() +
43+
"\"userdataid\" NUMBER(10,0) NOT NULL," + System.lineSeparator() +
4444
"\"info\" NVARCHAR2(4000) NULL," + System.lineSeparator() +
4545
"PRIMARY KEY(\"userid\",\"userdataid\"))";
4646
assertEquals(expected, actual);
@@ -60,14 +60,14 @@ public void handleCreateTableOnePKColumn() {
6060
));
6161

6262
String expected = "CREATE TABLE \"tableA\" (" + System.lineSeparator() +
63-
"\"col1\" NUMBER NOT NULL," + System.lineSeparator() +
64-
"\"col2\" NUMBER NULL," + System.lineSeparator() +
63+
"\"col1\" NUMBER(10,0) NOT NULL," + System.lineSeparator() +
64+
"\"col2\" NUMBER(19,0) NULL," + System.lineSeparator() +
6565
"\"col3\" NVARCHAR2(4000) NULL," + System.lineSeparator() +
6666
"\"col4\" BINARY_FLOAT NULL," + System.lineSeparator() +
6767
"\"col5\" BINARY_DOUBLE NULL," + System.lineSeparator() +
68-
"\"col6\" NUMBER NULL," + System.lineSeparator() +
69-
"\"col7\" NUMBER NULL," + System.lineSeparator() +
70-
"\"col8\" NUMBER NULL," + System.lineSeparator() +
68+
"\"col6\" NUMBER(1,0) NULL," + System.lineSeparator() +
69+
"\"col7\" NUMBER(3,0) NULL," + System.lineSeparator() +
70+
"\"col8\" NUMBER(5,0) NULL," + System.lineSeparator() +
7171
"PRIMARY KEY(\"col1\"))";
7272
assertEquals(expected, actual);
7373
}
@@ -86,14 +86,14 @@ public void handleCreateTableNoPKColumn() {
8686
));
8787

8888
String expected = "CREATE TABLE \"tableA\" (" + System.lineSeparator() +
89-
"\"col1\" NUMBER NULL," + System.lineSeparator() +
90-
"\"col2\" NUMBER NULL," + System.lineSeparator() +
89+
"\"col1\" NUMBER(10,0) NULL," + System.lineSeparator() +
90+
"\"col2\" NUMBER(19,0) NULL," + System.lineSeparator() +
9191
"\"col3\" NVARCHAR2(4000) NULL," + System.lineSeparator() +
9292
"\"col4\" BINARY_FLOAT NULL," + System.lineSeparator() +
9393
"\"col5\" BINARY_DOUBLE NULL," + System.lineSeparator() +
94-
"\"col6\" NUMBER NULL," + System.lineSeparator() +
95-
"\"col7\" NUMBER NULL," + System.lineSeparator() +
96-
"\"col8\" NUMBER NULL)";
94+
"\"col6\" NUMBER(1,0) NULL," + System.lineSeparator() +
95+
"\"col7\" NUMBER(3,0) NULL," + System.lineSeparator() +
96+
"\"col8\" NUMBER(5,0) NULL)";
9797
assertEquals(expected, actual);
9898
}
9999

@@ -113,14 +113,14 @@ public void handleAmendAddColumns() {
113113
assertEquals(1, actual.size());
114114

115115
String expected = "ALTER TABLE \"tableA\" ADD(" + System.lineSeparator() +
116-
"\"col1\" NUMBER NULL," + System.lineSeparator() +
117-
"\"col2\" NUMBER NULL," + System.lineSeparator() +
116+
"\"col1\" NUMBER(10,0) NULL," + System.lineSeparator() +
117+
"\"col2\" NUMBER(19,0) NULL," + System.lineSeparator() +
118118
"\"col3\" NVARCHAR2(4000) NULL," + System.lineSeparator() +
119119
"\"col4\" BINARY_FLOAT NULL," + System.lineSeparator() +
120120
"\"col5\" BINARY_DOUBLE NULL," + System.lineSeparator() +
121-
"\"col6\" NUMBER NULL," + System.lineSeparator() +
122-
"\"col7\" NUMBER NULL," + System.lineSeparator() +
123-
"\"col8\" NUMBER NULL)";
121+
"\"col6\" NUMBER(1,0) NULL," + System.lineSeparator() +
122+
"\"col7\" NUMBER(3,0) NULL," + System.lineSeparator() +
123+
"\"col8\" NUMBER(5,0) NULL)";
124124
assertEquals(expected, actual.get(0));
125125
}
126126

0 commit comments

Comments
 (0)