From d89078ad8967184595ac933fc8a9772d873d1052 Mon Sep 17 00:00:00 2001 From: moparisthebest Date: Tue, 22 May 2018 00:11:54 -0400 Subject: [PATCH] Rename JdbcMapper.DatabaseType.STANDARD to ANY --- .../moparisthebest/jdbc/codegen/JdbcMapper.java | 2 +- .../jdbc/codegen/JdbcMapperProcessor.java | 8 ++++---- .../jdbc/codegen/SimpleSQLChecker.java | 2 +- .../com/moparisthebest/jdbc/ArrayInList.java | 2 +- test/pom.xml | 16 ++++++++++++++++ .../moparisthebest/jdbc/codegen/PersonDAO.java | 3 +-- .../jdbc/codegen/PrestoPersonDAO.java | 3 +-- 7 files changed, 25 insertions(+), 11 deletions(-) diff --git a/common/src/main/java/com/moparisthebest/jdbc/codegen/JdbcMapper.java b/common/src/main/java/com/moparisthebest/jdbc/codegen/JdbcMapper.java index 2e72a3e..83074b5 100644 --- a/common/src/main/java/com/moparisthebest/jdbc/codegen/JdbcMapper.java +++ b/common/src/main/java/com/moparisthebest/jdbc/codegen/JdbcMapper.java @@ -129,7 +129,7 @@ public interface JdbcMapper extends Closeable { public enum DatabaseType { DEFAULT(null, null), BIND(null, null), - STANDARD("numeric", "text"), + ANY("NUMERIC", "TEXT"), UNNEST("NUMERIC", "VARCHAR"), ORACLE("ARRAY_NUM_TYPE", "ARRAY_STR_TYPE"), ; diff --git a/jdbcmapper/src/main/java/com/moparisthebest/jdbc/codegen/JdbcMapperProcessor.java b/jdbcmapper/src/main/java/com/moparisthebest/jdbc/codegen/JdbcMapperProcessor.java index e4ec0fa..fdc213a 100644 --- a/jdbcmapper/src/main/java/com/moparisthebest/jdbc/codegen/JdbcMapperProcessor.java +++ b/jdbcmapper/src/main/java/com/moparisthebest/jdbc/codegen/JdbcMapperProcessor.java @@ -126,7 +126,7 @@ public class JdbcMapperProcessor extends AbstractProcessor { enumType = types.getDeclaredType(elements.getTypeElement(Enum.class.getCanonicalName()), types.getWildcardType(null, null)); final String databaseType = processingEnv.getOptions().get("jdbcMapper.databaseType"); - defaultDatabaseType = databaseType == null || databaseType.isEmpty() ? JdbcMapper.DatabaseType.STANDARD : JdbcMapper.DatabaseType.valueOf(databaseType.toUpperCase()); + defaultDatabaseType = databaseType == null || databaseType.isEmpty() ? JdbcMapper.DatabaseType.ANY : JdbcMapper.DatabaseType.valueOf(databaseType.toUpperCase()); defaultArrayNumberTypeName = processingEnv.getOptions().get("jdbcMapper.arrayNumberTypeName"); if (defaultArrayNumberTypeName == null || defaultArrayNumberTypeName.isEmpty()) defaultArrayNumberTypeName = defaultDatabaseType.arrayNumberTypeName; @@ -188,7 +188,7 @@ public class JdbcMapperProcessor extends AbstractProcessor { case ORACLE: arrayInList = new OracleArrayInList(arrayNumberTypeName, arrayStringTypeName); break; - case STANDARD: + case ANY: arrayInList = new ArrayInList(arrayNumberTypeName, arrayStringTypeName); break; case UNNEST: @@ -411,7 +411,7 @@ public class JdbcMapperProcessor extends AbstractProcessor { "(" + inColumnName + " NOT IN(select column_value from table(?)))" : "(" + inColumnName + " IN(select column_value from table(?)))"; break; - case STANDARD: + case ANY: replacement = not ? "(" + inColumnName + " != ANY(?))" : "(" + inColumnName + " = ANY(?))"; @@ -790,7 +790,7 @@ public class JdbcMapperProcessor extends AbstractProcessor { */ //w.write("(Array) createArray.invoke(conn.unwrap(oracleConnection), \""); break; - case STANDARD: + case ANY: case UNNEST: w.write("conn.createArrayOf(\""); break; diff --git a/jdbcmapper/src/main/java/com/moparisthebest/jdbc/codegen/SimpleSQLChecker.java b/jdbcmapper/src/main/java/com/moparisthebest/jdbc/codegen/SimpleSQLChecker.java index cf9d708..c108bf6 100644 --- a/jdbcmapper/src/main/java/com/moparisthebest/jdbc/codegen/SimpleSQLChecker.java +++ b/jdbcmapper/src/main/java/com/moparisthebest/jdbc/codegen/SimpleSQLChecker.java @@ -71,7 +71,7 @@ public class SimpleSQLChecker implements SQLChecker { if (sqlStatement.trim().substring(0, 5).toUpperCase().equals("MERGE")) return sqlStatement; return "EXPLAIN PLAN FOR " + sqlStatement; - case STANDARD: + case ANY: return "EXPLAIN " + sqlStatement; } return sqlStatement; diff --git a/querymapper/src/main/java/com/moparisthebest/jdbc/ArrayInList.java b/querymapper/src/main/java/com/moparisthebest/jdbc/ArrayInList.java index 5bb9e66..ca0f5fa 100644 --- a/querymapper/src/main/java/com/moparisthebest/jdbc/ArrayInList.java +++ b/querymapper/src/main/java/com/moparisthebest/jdbc/ArrayInList.java @@ -26,7 +26,7 @@ public class ArrayInList implements InList { } public ArrayInList() { - this(JdbcMapper.DatabaseType.STANDARD.arrayNumberTypeName, JdbcMapper.DatabaseType.STANDARD.arrayStringTypeName); + this(JdbcMapper.DatabaseType.ANY.arrayNumberTypeName, JdbcMapper.DatabaseType.ANY.arrayStringTypeName); } protected String columnAppend(final String columnName) { diff --git a/test/pom.xml b/test/pom.xml index ffcbdfe..2a2ce8d 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -210,5 +210,21 @@ + + any + + + + org.apache.maven.plugins + maven-compiler-plugin + + + -AjdbcMapper.databaseType=ANY + + + + + + \ No newline at end of file diff --git a/test/src/main/java/com/moparisthebest/jdbc/codegen/PersonDAO.java b/test/src/main/java/com/moparisthebest/jdbc/codegen/PersonDAO.java index de6a416..127f69d 100644 --- a/test/src/main/java/com/moparisthebest/jdbc/codegen/PersonDAO.java +++ b/test/src/main/java/com/moparisthebest/jdbc/codegen/PersonDAO.java @@ -4,7 +4,6 @@ import com.moparisthebest.jdbc.Cleaner; import com.moparisthebest.jdbc.dto.*; import com.moparisthebest.jdbc.util.ResultSetIterable; -import java.io.Closeable; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Time; @@ -20,7 +19,7 @@ import java.time.*; */ @JdbcMapper.Mapper( jndiName = "bob", - databaseType = JdbcMapper.DatabaseType.STANDARD, // todo: PrestoPersonDao breaks with ORACLE or UNNEST + databaseType = JdbcMapper.DatabaseType.ANY, // todo: PrestoPersonDao breaks with ORACLE or UNNEST cachePreparedStatements = JdbcMapper.OptionalBool.FALSE // , sqlParser = SimpleSQLParser.class , allowReflection = JdbcMapper.OptionalBool.TRUE diff --git a/test/src/main/java/com/moparisthebest/jdbc/codegen/PrestoPersonDAO.java b/test/src/main/java/com/moparisthebest/jdbc/codegen/PrestoPersonDAO.java index 1dc3e22..502dc42 100644 --- a/test/src/main/java/com/moparisthebest/jdbc/codegen/PrestoPersonDAO.java +++ b/test/src/main/java/com/moparisthebest/jdbc/codegen/PrestoPersonDAO.java @@ -4,7 +4,6 @@ import com.moparisthebest.jdbc.Cleaner; import com.moparisthebest.jdbc.dto.*; import com.moparisthebest.jdbc.util.ResultSetIterable; -import java.io.Closeable; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Time; @@ -20,7 +19,7 @@ import java.time.*; */ @JdbcMapper.Mapper( jndiName = "bob", - databaseType = JdbcMapper.DatabaseType.STANDARD, // PrestoPersonDao breaks with ORACLE or UNNEST + databaseType = JdbcMapper.DatabaseType.ANY, // PrestoPersonDao breaks with ORACLE or UNNEST cachePreparedStatements = JdbcMapper.OptionalBool.FALSE , sqlParser = PrestoSQLParser.class , allowReflection = JdbcMapper.OptionalBool.TRUE