SchemaAction=deleteTableContents throws error if table doesn't exist
--------------------------------------------------------------------
Key: OPENJPA-1698
URL: https://issues.apache.org/jira/browse/OPENJPA-1698
Project: OpenJPA
Issue Type: Bug
Components: jdbc
Affects Versions: 2.0.0
Environment: Win XP, Postgres 8.4, OpenJPA 2.0.0
Reporter: Oliver Bayer
Hi,
I want to set up my project during development so that all table contents are
deleted with the following property in persistence.xml:
<property name="openjpa.jdbc.SynchronizeMappings"
value="buildSchema(SchemaAction=add,SchemaAction=deleteTableContents)"/>
If I start up with an empty database I get the following error:
org.apache.openjpa.persistence.PersistenceException: ERROR: Relation
>>openjpa_sequence_table<< doesn't exist.
This error is raised because of the following sql statement: DELETE FROM
OPENJPA_SEQUENCE_TABLE.
My suggested solution would be to modify DBDictionary.getDeleteTableContentsSQL
so that it only deletes content from a table if the table exists.
DBDictionary: Line 2183
---------------------------------
change: deleteSQL.add("DELETE FROM " + toDBName(tables[i].getFullIdentifier()));
to: deleteSQL.add("DELETE FROM " + toDBName(tables[i].getFullIdentifier()) + "
IF EXISTS");
What do you mean: Is this a valid bugfix? I'm looking forward to your responses.
Greets Oli
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.