You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by st...@apache.org on 2019/01/30 21:34:01 UTC
[openjpa] 02/02: OPENJPA-2713 fix h2
This is an automated email from the ASF dual-hosted git repository.
struberg pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openjpa.git
commit ad4ed02728a9bbb1624f490bf6eabd59922981a9
Author: Mark Struberg <st...@apache.org>
AuthorDate: Wed Jan 30 22:33:08 2019 +0100
OPENJPA-2713 fix h2
---
.../org/apache/openjpa/jdbc/sql/DBDictionary.java | 3 +++
.../org/apache/openjpa/jdbc/sql/H2Dictionary.java | 3 +++
openjpa-project/BUILDING.txt | 6 ++---
pom.xml | 27 ++++++++++++++++++++++
4 files changed, 36 insertions(+), 3 deletions(-)
diff --git a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DBDictionary.java b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DBDictionary.java
index f9bc575..a0ad2ba 100644
--- a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DBDictionary.java
+++ b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DBDictionary.java
@@ -4755,6 +4755,9 @@ public class DBDictionary
* from {@link DatabaseMetaData}.
*/
protected String getTableNameForMetadata(DBIdentifier tableName) {
+ if (tableName == null) {
+ return null;
+ }
return convertSchemaCase(tableName.getUnqualifiedName());
}
diff --git a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/H2Dictionary.java b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/H2Dictionary.java
index af1871e..a6f1e79 100644
--- a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/H2Dictionary.java
+++ b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/H2Dictionary.java
@@ -69,6 +69,9 @@ public class H2Dictionary extends DBDictionary {
supportsLockingWithOuterJoin = false;
supportsLockingWithInnerJoin = false;
+ // no timezone support for time in h2
+ timeWithZoneTypeName = "TIME";
+
reservedWordSet.addAll(Arrays.asList(new String[] {
"CURRENT_TIMESTAMP", "CURRENT_TIME", "CURRENT_DATE", "CROSS",
"DISTINCT", "EXCEPT", "EXISTS", "FROM", "FOR", "FALSE", "FULL",
diff --git a/openjpa-project/BUILDING.txt b/openjpa-project/BUILDING.txt
index 351d380..c973078 100644
--- a/openjpa-project/BUILDING.txt
+++ b/openjpa-project/BUILDING.txt
@@ -198,17 +198,17 @@ To run the tests in the debugger simply add the following JVM properties
-Dopenjpa.ConnectionURL=jdbc:derby:target/database/openjpa-derby-database;create=true -Dopenjpa.ConnectionDriverName=org.apache.derby.jdbc.EmbeddedDriver
For running against a MySQL Docker installation:
-
-ea -Dopenjpa.ConnectionDriverName=com.mysql.jdbc.Driver -Dopenjpa.ConnectionURL=jdbc:mysql://localhost:3306/openjpatst -Dopenjpa.ConnectionUserName=openjpatst -Dopenjpa.ConnectionPassword=openjpatst
Running against a PostgreSQL Docker installation:
-
-ea -Dopenjpa.ConnectionDriverName=org.postgresql.Driver -Dopenjpa.ConnectionURL=jdbc:postgresql:5432//localhost/openjpatst -Dopenjpa.ConnectionUserName=postgres -Dopenjpa.ConnectionPassword=postgres
For running against a MariaDB Docker installation:
-
-ea -Dopenjpa.ConnectionDriverName=org.mariadb.jdbc.Driver -Dopenjpa.ConnectionURL=jdbc:mariadb://localhost:3306/openjpatst -Dopenjpa.ConnectionUserName=root -Dopenjpa.ConnectionPassword=openjpatst
+For running against a h2 based installation:
+ -ea -Dopenjpa.ConnectionDriverName=org.h2.Driver -Dopenjpa.ConnectionURL=jdbc:h2:./target/database/openjpa-h2-database -Dopenjpa.ConnectionUserName=root -Dopenjpa.ConnectionPassword=openjpatst
+
TODO: finish!
For starting tests in `openjpa-persistence-jdbc` inside a compiler you can also trigger all the enhancement manually via:
diff --git a/pom.xml b/pom.xml
index 7a44eba..45bb243 100644
--- a/pom.xml
+++ b/pom.xml
@@ -430,6 +430,33 @@
</properties>
</profile>
+ <!-- profile for testing with an embedded h2 DB -->
+ <profile>
+ <id>test-h2</id>
+ <activation>
+ <property>
+ <name>test-h2</name>
+ </property>
+ </activation>
+ <properties>
+ <h2.version>1.4.197</h2.version>
+ <connection.driver.name>org.h2.Driver</connection.driver.name>
+ <connection.url>jdbc:h2:./target/database/openjpa-h2-database</connection.url>
+ <connection.username />
+ <connection.password />
+ <!-- TCK specific properties -->
+ <tck.db.name>h2mem</tck.db.name>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>com.h2database</groupId>
+ <artifactId>h2</artifactId>
+ <version>${h2.version}</version>
+ </dependency>
+ </dependencies>
+ </profile>
+
<!-- Profile for testing with an In-Memory Apache Derby DB -->
<profile>
<!--