src/main/java/org/embulk/output/jdbc/JdbcOutputConnection.java in embulk-output-jdbc-0.4.5 vs src/main/java/org/embulk/output/jdbc/JdbcOutputConnection.java in embulk-output-jdbc-0.5.0
- old
+ new
@@ -151,10 +151,20 @@
sb.append(")");
return sb.toString();
}
+ protected String buildRenameTableSql(String fromTable, String toTable)
+ {
+ StringBuilder sb = new StringBuilder();
+ sb.append("ALTER TABLE ");
+ quoteIdentifierString(sb, fromTable);
+ sb.append(" RENAME TO ");
+ quoteIdentifierString(sb, toTable);
+ return sb.toString();
+ }
+
public static enum ColumnDeclareType
{
SIMPLE,
SIZE,
SIZE_AND_SCALE,
@@ -206,10 +216,11 @@
"FLOAT", // SQL standard's FLOAT[(p)] optionally accepts precision
};
private static final String[] STANDARD_SIZE_AND_SCALE_TYPE_NAMES = new String[] {
"DECIMAL",
+ "NUMERIC",
};
protected ColumnDeclareType getColumnDeclareType(String convertedTypeName, JdbcColumn col)
{
for (String x : STANDARD_SIZE_TYPE_NAMES) {
@@ -344,16 +355,10 @@
{
Statement stmt = connection.createStatement();
try {
dropTableIfExists(stmt, toTable);
- StringBuilder sb = new StringBuilder();
- sb.append("ALTER TABLE ");
- quoteIdentifierString(sb, fromTable);
- sb.append(" RENAME TO ");
- quoteIdentifierString(sb, toTable);
- String sql = sb.toString();
- executeUpdate(stmt, sql);
+ executeUpdate(stmt, buildRenameTableSql(fromTable, toTable));
commitIfNecessary(connection);
} catch (SQLException ex) {
throw safeRollback(connection, ex);
} finally {