OPENJPA-2868 reserved column names for HSQLDB
diff --git a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/HSQLDictionary.java b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/HSQLDictionary.java
index 6166412..34bbb74 100644
--- a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/HSQLDictionary.java
+++ b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/HSQLDictionary.java
@@ -98,6 +98,18 @@
}));
fixedSizeTypeNameSet.remove("NUMERIC");
fixedSizeTypeNameSet.remove("DECIMAL");
+
+ // reservedWordSet subset that CANNOT be used as valid column names
+ // (i.e., without surrounding them with double-quotes)
+ // generated at 2021-05-02T18:24:22.807 via org.apache.openjpa.reservedwords.ReservedWordsIT
+ invalidColumnWordSet.addAll(Arrays.asList(new String[] {
+ "ALL", "AND", "ANY", "AS", "AT", "BETWEEN", "BOTH", "BY", "CALL", "CASE", "CAST", "CHECK", "COALESCE", "CONSTRAINT",
+ "CONVERT", "CORRESPONDING", "CREATE", "CROSS", "CUBE", "DEFAULT", "DISTINCT", "DO", "DROP", "ELSE", "END-EXEC",
+ "EVERY", "EXCEPT", "EXISTS", "FETCH", "FOR", "FOREIGN", "FROM", "FULL", "GRANT", "GROUP", "GROUPING", "HAVING",
+ "IN", "INNER", "INTERSECT", "INTO", "IS", "JOIN", "LEADING", "LEFT", "LIKE", "NATURAL", "NOT", "NULLIF", "ON",
+ "OR", "ORDER", "OUTER", "PRIMARY", "REFERENCES", "RIGHT", "ROLLUP", "SELECT", "SET", "SOME", "SUM", "TABLE", "THEN",
+ "TO", "TRAILING", "TRIGGER", "UNION", "UNIQUE", "USING", "VALUES", "WHEN", "WHERE", "WITH",
+ }));
}
/**
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/common/utils/AbstractTestCase.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/common/utils/AbstractTestCase.java
index dad1331..7855716 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/common/utils/AbstractTestCase.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/common/utils/AbstractTestCase.java
@@ -105,6 +105,7 @@
protected enum Platform {
EMPRESS,
HYPERSONIC,
+ HERDDB,
POSTGRESQL,
MARIADB,
MYSQL,
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestPessimisticLocking.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestPessimisticLocking.java
index d027f07..57aab3d 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestPessimisticLocking.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestPessimisticLocking.java
@@ -58,10 +58,6 @@
}
protected boolean skipTest() {
- // pointbase doesn't really lock
- if (getCurrentPlatform() == AbstractTestCase.Platform.POINTBASE)
- return true;
-
if (getConfiguration() instanceof JDBCConfiguration) {
JDBCConfiguration conf = (JDBCConfiguration) getConfiguration();
return !conf.getDBDictionaryInstance().supportsSelectForUpdate;
@@ -136,6 +132,10 @@
*/
public void pessimisticLockingTest(boolean useReentrantLock)
throws Throwable {
+ if (skipTest()) {
+ return;
+ }
+
long timeout = System.currentTimeMillis() + (60 * 5 * 1000);
ReentrantLock lock = null;
@@ -269,11 +269,10 @@
}
}
}
- catch (Exception e)
- {
- exception = e;
- }
- }
- }
+ catch (Exception e) {
+ exception = e;
+ }
+ }
+ }
}