Skip to content

Commit f4b518b

Browse files
committed
Add getDataLength for numeric without precision
1 parent 99d8603 commit f4b518b

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

embulk-output-postgresql/src/main/java/org/embulk/output/postgresql/PostgreSQLOutputConnection.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
public class PostgreSQLOutputConnection
1717
extends JdbcOutputConnection
1818
{
19+
private static final int MIN_NUMERIC_PRECISION = 0;
1920
private static final int MAX_NUMERIC_PRECISION = 1000;
2021

2122
public PostgreSQLOutputConnection(Connection connection, String schemaName, String roleName)
@@ -263,9 +264,9 @@ protected String buildColumnTypeName(JdbcColumn c)
263264
}
264265
break;
265266
case "NUMERIC": // only "NUMERIC" because PostgreSQL JDBC driver will return also "NUMERIC" for the type name of decimal.
266-
if (c.getDataLength() > MAX_NUMERIC_PRECISION) {
267-
// getDataLength for numeric without precision will return 131089 .
268-
// but cannot create column of numeric(131089) .
267+
if (c.getDataLength() > MAX_NUMERIC_PRECISION || c.getDataLength() < MIN_NUMERIC_PRECISION) {
268+
// getDataLength for numeric without precision will return 0 or 131089 .
269+
// but cannot create column of numeric(0) and numeric(131089) .
269270
return "NUMERIC";
270271
}
271272
break;

0 commit comments

Comments
 (0)