Skip to content

Commit 3226ff2

Browse files
authored
Merge pull request #457 from data-integrations/fix/numeric_precision_fix_1.10
[PLUGIN-1680] numeric_precision_fix_1.10
2 parents 1ead026 + 47c3770 commit 3226ff2

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

database-commons/src/main/java/io/cdap/plugin/db/DBRecord.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ public void write(PreparedStatement stmt) throws SQLException {
219219
}
220220
}
221221

222-
private Schema getNonNullableSchema(Schema.Field field) {
222+
protected Schema getNonNullableSchema(Schema.Field field) {
223223
Schema schema = field.getSchema();
224224
if (field.getSchema().isNullable()) {
225225
schema = field.getSchema().getNonNullable();

postgresql-plugin/src/main/java/io/cdap/plugin/postgres/PostgresDBRecord.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ private Object createPGobject(String type, String value, ClassLoader classLoader
106106
protected void writeToDB(PreparedStatement stmt, Schema.Field field, int fieldIndex) throws SQLException {
107107
int sqlIndex = fieldIndex + 1;
108108
ColumnType columnType = columnTypes.get(fieldIndex);
109+
Schema fieldSchema = getNonNullableSchema(field);
109110
if (PostgresSchemaReader.STRING_MAPPED_POSTGRES_TYPES_NAMES.contains(columnType.getTypeName()) ||
110111
PostgresSchemaReader.STRING_MAPPED_POSTGRES_TYPES.contains(columnType.getType())) {
111112
stmt.setObject(sqlIndex, createPGobject(columnType.getTypeName(),
@@ -114,7 +115,7 @@ protected void writeToDB(PreparedStatement stmt, Schema.Field field, int fieldIn
114115
return;
115116
}
116117
if (columnType.getType() == Types.NUMERIC && record.get(field.getName()) != null &&
117-
field.getSchema().getType() == Schema.Type.STRING) {
118+
fieldSchema.getType() == Schema.Type.STRING) {
118119
stmt.setBigDecimal(sqlIndex, new BigDecimal((String) record.get(field.getName())));
119120
return;
120121
}

0 commit comments

Comments
 (0)