|
53 | 53 | */ |
54 | 54 | public class Db2SinkTestRun extends Db2PluginTestBase { |
55 | 55 | private static final Schema SCHEMA = Schema.recordOf( |
56 | | - "dbRecord", |
57 | | - Schema.Field.of("SMALLINT_COL", Schema.of(Schema.Type.INT)), |
58 | | - Schema.Field.of("INTEGER_COL", Schema.of(Schema.Type.INT)), |
59 | | - Schema.Field.of("BIGINT_COL", Schema.of(Schema.Type.LONG)), |
60 | | - Schema.Field.of("DECIMAL_COL", Schema.decimalOf(10, 6)), |
61 | | - Schema.Field.of("NUMERIC_COL", Schema.decimalOf(10, 6)), |
62 | | - Schema.Field.of("DECFLOAT_COL", Schema.of(Schema.Type.DOUBLE)), |
63 | | - Schema.Field.of("REAL_COL", Schema.of(Schema.Type.FLOAT)), |
64 | | - Schema.Field.of("DOUBLE_COL", Schema.of(Schema.Type.DOUBLE)), |
65 | | - Schema.Field.of("CHAR_COL", Schema.of(Schema.Type.STRING)), |
66 | | - Schema.Field.of("VARCHAR_COL", Schema.of(Schema.Type.STRING)), |
67 | | - Schema.Field.of("CHAR_BIT_COL", Schema.of(Schema.Type.BYTES)), |
68 | | - Schema.Field.of("VARCHAR_BIT_COL", Schema.of(Schema.Type.BYTES)), |
69 | | - Schema.Field.of("GRAPHIC_COL", Schema.of(Schema.Type.STRING)), |
70 | | - Schema.Field.of("CLOB_COL", Schema.of(Schema.Type.STRING)), |
71 | | - Schema.Field.of("BLOB_COL", Schema.of(Schema.Type.BYTES)), |
72 | | - Schema.Field.of("DATE_COL", Schema.of(Schema.LogicalType.DATE)), |
73 | | - Schema.Field.of("TIME_COL", Schema.of(Schema.LogicalType.TIME_MICROS)), |
74 | | - Schema.Field.of("TIMESTAMP_COL", Schema.of(Schema.LogicalType.TIMESTAMP_MICROS)), |
75 | | - Schema.Field.of("BINARY_COL", Schema.of(Schema.Type.BYTES)), |
76 | | - Schema.Field.of("VARBINARY_COL", Schema.of(Schema.Type.BYTES)), |
77 | | - Schema.Field.of("VARGRAPHIC_COL", Schema.of(Schema.Type.STRING)), |
78 | | - Schema.Field.of("DBCLOB_COL", Schema.of(Schema.Type.STRING)) |
| 56 | + "dbRecord", |
| 57 | + Schema.Field.of("SMALLINT_COL", Schema.of(Schema.Type.INT)), |
| 58 | + Schema.Field.of("INTEGER_COL", Schema.of(Schema.Type.INT)), |
| 59 | + Schema.Field.of("BIGINT_COL", Schema.of(Schema.Type.LONG)), |
| 60 | + Schema.Field.of("DECIMAL_COL", Schema.decimalOf(10, 6)), |
| 61 | + Schema.Field.of("NUMERIC_COL", Schema.decimalOf(10, 6)), |
| 62 | + Schema.Field.of("DECFLOAT_COL", Schema.of(Schema.Type.STRING)), |
| 63 | + Schema.Field.of("REAL_COL", Schema.of(Schema.Type.FLOAT)), |
| 64 | + Schema.Field.of("DOUBLE_COL", Schema.of(Schema.Type.DOUBLE)), |
| 65 | + Schema.Field.of("CHAR_COL", Schema.of(Schema.Type.STRING)), |
| 66 | + Schema.Field.of("VARCHAR_COL", Schema.of(Schema.Type.STRING)), |
| 67 | + Schema.Field.of("CHAR_BIT_COL", Schema.of(Schema.Type.BYTES)), |
| 68 | + Schema.Field.of("VARCHAR_BIT_COL", Schema.of(Schema.Type.BYTES)), |
| 69 | + Schema.Field.of("GRAPHIC_COL", Schema.of(Schema.Type.STRING)), |
| 70 | + Schema.Field.of("CLOB_COL", Schema.of(Schema.Type.STRING)), |
| 71 | + Schema.Field.of("BLOB_COL", Schema.of(Schema.Type.BYTES)), |
| 72 | + Schema.Field.of("DATE_COL", Schema.of(Schema.LogicalType.DATE)), |
| 73 | + Schema.Field.of("TIME_COL", Schema.of(Schema.LogicalType.TIME_MICROS)), |
| 74 | + Schema.Field.of("TIMESTAMP_COL", Schema.of(Schema.LogicalType.TIMESTAMP_MICROS)), |
| 75 | + Schema.Field.of("BINARY_COL", Schema.of(Schema.Type.BYTES)), |
| 76 | + Schema.Field.of("VARBINARY_COL", Schema.of(Schema.Type.BYTES)), |
| 77 | + Schema.Field.of("VARGRAPHIC_COL", Schema.of(Schema.Type.STRING)), |
| 78 | + Schema.Field.of("DBCLOB_COL", Schema.of(Schema.Type.STRING)) |
79 | 79 | ); |
80 | 80 |
|
81 | 81 | @Before |
@@ -107,6 +107,16 @@ public void testDBSinkWithDBSchemaAndInvalidData() throws Exception { |
107 | 107 | } |
108 | 108 | } |
109 | 109 |
|
| 110 | + @Test |
| 111 | + public void testDBSinkWithExplicitInputSchema() throws Exception { |
| 112 | + testDBSink("testDBSinkWithExplicitInputSchema", "input-dbsinktest-explicit", true); |
| 113 | + } |
| 114 | + |
| 115 | + @Test |
| 116 | + public void testDBSinkWithInferredInputSchema() throws Exception { |
| 117 | + testDBSink("testDBSinkWithInferredInputSchema", "input-dbsinktest-inferred", false); |
| 118 | + } |
| 119 | + |
110 | 120 | public void testDBSink(String appName, String inputDatasetName, boolean setInputSchema) throws Exception { |
111 | 121 | ETLPlugin sourceConfig = (setInputSchema) |
112 | 122 | ? MockSource.getPlugin(inputDatasetName, SCHEMA) |
@@ -199,7 +209,7 @@ private void createInputData(String inputDatasetName) throws Exception { |
199 | 209 | .set("BIGINT_COL", (long) i) |
200 | 210 | .setDecimal("NUMERIC_COL", new BigDecimal(3.458d, new MathContext(PRECISION)).setScale(SCALE)) |
201 | 211 | .setDecimal("DECIMAL_COL", new BigDecimal(3.459d, new MathContext(PRECISION)).setScale(SCALE)) |
202 | | - .set("DECFLOAT_COL", .42 + i) |
| 212 | + .set("DECFLOAT_COL", Double.toString(.42 + i)) |
203 | 213 | .set("REAL_COL", 24.123f + i) |
204 | 214 | .set("DOUBLE_COL", 3.456) |
205 | 215 | .set("CHAR_COL", name) |
|
0 commit comments