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 60ccac0e2201b023fa6194523ab733ea12ee1172 Author: Mark Struberg <strub...@apache.org> AuthorDate: Sat Nov 10 16:45:24 2018 +0100 OPENJPA-2753 postgres doesn't know BLOG have to use BYTEA instead. --- .../schema/TestSchemaGenerationProperties.java | 24 ++++++++++++++++++++-- .../persistence/jdbc/schema/create-postgresql.sql | 14 +++++++++++++ 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/schema/TestSchemaGenerationProperties.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/schema/TestSchemaGenerationProperties.java index c2e75fe..b74c4a6 100644 --- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/schema/TestSchemaGenerationProperties.java +++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/schema/TestSchemaGenerationProperties.java @@ -30,6 +30,8 @@ import org.apache.openjpa.jdbc.conf.JDBCConfiguration; import org.apache.openjpa.jdbc.meta.MappingTool; import org.apache.openjpa.jdbc.schema.SchemaGroup; import org.apache.openjpa.jdbc.schema.SchemaTool; +import org.apache.openjpa.jdbc.sql.DBDictionary; +import org.apache.openjpa.jdbc.sql.PostgresDictionary; import org.apache.openjpa.persistence.OpenJPAEntityManager; import org.apache.openjpa.persistence.OpenJPAEntityManagerFactory; import org.apache.openjpa.persistence.OpenJPAEntityManagerFactorySPI; @@ -139,13 +141,23 @@ public class TestSchemaGenerationProperties extends BaseJDBCTest { } public void testSchemaGenScriptCreate() throws Exception { + testSchemaGenMetadataDrop(); + JDBCConfiguration conf = (JDBCConfiguration) getPM().getConfiguration(); + DBDictionary dict = conf.getDBDictionaryInstance(); + + String createSql = + dict instanceof PostgresDictionary + ? "org/apache/openjpa/persistence/jdbc/schema/create-postgresql.sql" + : "org/apache/openjpa/persistence/jdbc/schema/create.sql"; + + Map<String, String> properties = new HashMap<>(); properties.put("javax.persistence.schema-generation.database.action", "create"); properties.put("javax.persistence.schema-generation.create-source", "script"); properties.put("javax.persistence.schema-generation.create-script-source", - "org/apache/openjpa/persistence/jdbc/schema/create.sql"); + createSql); SchemaGroup dbSchemaGroup = getSchemaGroup(properties); @@ -158,6 +170,14 @@ public class TestSchemaGenerationProperties extends BaseJDBCTest { public void testSchemaGenScriptDropAndCreate() throws Exception { testSchemaGenMetadataCreate(); + JDBCConfiguration conf = (JDBCConfiguration) getPM().getConfiguration(); + DBDictionary dict = conf.getDBDictionaryInstance(); + + String createSql = + dict instanceof PostgresDictionary + ? "org/apache/openjpa/persistence/jdbc/schema/create-postgresql.sql" + : "org/apache/openjpa/persistence/jdbc/schema/create.sql"; + Map<String, String> properties = new HashMap<>(); properties.put("javax.persistence.schema-generation.database.action", "drop-and-create"); properties.put("javax.persistence.schema-generation.drop-source", "script"); @@ -165,7 +185,7 @@ public class TestSchemaGenerationProperties extends BaseJDBCTest { "org/apache/openjpa/persistence/jdbc/schema/drop.sql"); properties.put("javax.persistence.schema-generation.create-source", "script"); properties.put("javax.persistence.schema-generation.create-script-source", - "org/apache/openjpa/persistence/jdbc/schema/create.sql"); + createSql); SchemaGroup dbSchemaGroup = getSchemaGroup(properties); diff --git a/openjpa-persistence-jdbc/src/test/resources/org/apache/openjpa/persistence/jdbc/schema/create-postgresql.sql b/openjpa-persistence-jdbc/src/test/resources/org/apache/openjpa/persistence/jdbc/schema/create-postgresql.sql new file mode 100644 index 0000000..4a7f07a --- /dev/null +++ b/openjpa-persistence-jdbc/src/test/resources/org/apache/openjpa/persistence/jdbc/schema/create-postgresql.sql @@ -0,0 +1,14 @@ +CREATE TABLE AUTOINCPC1 (ID INTEGER NOT NULL, STRNGFLD VARCHAR(50), DTYPE VARCHAR(255), ONEONE_ID INTEGER, INTFIELD INTEGER, CONSTRAINT SQL150111133630290 PRIMARY KEY (ID)); +CREATE TABLE AUTOINCPC3 (ID BIGINT NOT NULL, STRNGFLD VARCHAR(50), ONEONE_ID BIGINT, CONSTRAINT SQL150111133630380 PRIMARY KEY (ID)); +CREATE TABLE CONJOINPC4 (ID INTEGER NOT NULL, MANYTOMANY BYTEA, NAME VARCHAR(50), ONETOONE1_ID INTEGER, CONSTRAINT SQL150111133630400 PRIMARY KEY (ID)); +CREATE TABLE CONJOINPC5 (ID INTEGER NOT NULL, NAME VARCHAR(255), CONSTRAINT SQL150111133630420 PRIMARY KEY (ID)); +CREATE TABLE CUSTMAPPC (ID INTEGER NOT NULL, FEMALE SMALLINT, NAME VARCHAR(50), CONSTRAINT SQL150111133630430 PRIMARY KEY (ID)); +CREATE TABLE DFGTEST (ID BIGINT NOT NULL, DFGFIELD INTEGER, NONDFGFIELD INTEGER, CONSTRAINT SQL150111133630450 PRIMARY KEY (ID)); +CREATE TABLE EAGEROUTERJOINPC (ID BIGINT NOT NULL, NAME VARCHAR(255), HELPER BYTEA, CONSTRAINT SQL150111133630460 PRIMARY KEY (ID)); +CREATE TABLE EAGERPC (ID INTEGER NOT NULL, STRNGFLD VARCHAR(50), EAGER_ID INTEGER, EAGSUB INTEGER, HELPER_ID INTEGER, RECURSE_ID INTEGER, CONSTRAINT SQL150111133630470 PRIMARY KEY (ID)); +CREATE TABLE EAGERPCSUB (ID INTEGER NOT NULL, INTFIELD INTEGER, CONSTRAINT SQL150111133630480 PRIMARY KEY (ID)); +CREATE TABLE HELPERPC (ID INTEGER NOT NULL, STRNGFLD VARCHAR(50), EAGER_ID INTEGER, HELPER BYTEA, CONSTRAINT SQL150111133630500 PRIMARY KEY (ID)); +CREATE TABLE HELPERPC2 (ID INTEGER NOT NULL, STRNGFLD VARCHAR(50), HELPER_ID INTEGER, CONSTRAINT SQL150111133630510 PRIMARY KEY (ID)); +CREATE TABLE HELPERPC3 (ID INTEGER NOT NULL, STRNGFLD VARCHAR(50), DTYPE VARCHAR(255), INTFIELD INTEGER, CONSTRAINT SQL150111133630520 PRIMARY KEY (ID)); +CREATE TABLE INVERTA (ID INTEGER NOT NULL, TEST VARCHAR(35), INVERTB_ID INTEGER, CONSTRAINT SQL150111133630530 PRIMARY KEY (ID)); +CREATE TABLE INVERTB (ID INTEGER NOT NULL, TEST VARCHAR(35), INVERTA_ID INTEGER, CONSTRAINT SQL150111133630540 PRIMARY KEY (ID));