openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Szalay <michael.sza...@basis06.ch>
Subject Re: Cubrid DB Dictionary?
Date Thu, 20 Dec 2012 08:11:04 GMT
I tried without generating the schema, but with an existing database schema I wrote by hand.
I did not configure anything openjpa-specific in persistence.xml, so the default DBDictionary
is used
(I see this in the log).

I tested the same application with MySQL, that works.

It seems that its just the "SELECT SEQUENCE_VALUE FROM OPENJPA_SEQUENCE_TABLE WHERE ID = ?
FOR UPDATE"
is the problem, as the "select for update" construct is not supported in cubrid.

Regards Michael

----- Urspr√ľngliche Mail -----
Von: "Kevin Sutter" <kwsutter@gmail.com>
An: users@openjpa.apache.org
Gesendet: Mittwoch, 19. Dezember 2012 16:48:09
Betreff: Re: Cubrid DB Dictionary?

Hi Michael,
>From what I know, Cubrid is supposed to be SQL-92 compatible and should
work (for the most part) with the default DBDictionary.  Looking through
their documentation, they claim to provide some additional features that
may cause some hiccups with any JPA implementation (connection pooling,
object id generation, etc).  But, the basic support should be very similar.

What configuration are you running with in your persistence.xml?

What kind of testcase(s) are you attempting?  Are you pre-defining your
tables, or are you letting OpenJPA generate them?  Do these testcases work
with other "supported" open-source databases like MySQL or Postgres?

On the surface, supporting cubrid doesn't seem out of the question.  But, I
don't know much about it.

Kevin

On Tue, Dec 11, 2012 at 7:25 AM, Michael Szalay
<michael.szalay@basis06.ch>wrote:

> Hi all
>
> has anyone managed to use OpenJPA with the Cubrid database?
> I tried it using the default Db Dictionary but I get the following error
>
> Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: Syntax:
> syntax error, unexpected $end, expecting OF  {SELECT SEQUENCE_VALUE FROM
> OPENJPA_SEQUENCE_TABLE WHERE ID = ? FOR UPDATE} [code=-493, state=null]
>         at
> org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:219)
>         at
> org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:199)
>         at
> org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$000(LoggingConnectionDecorator.java:59)
>         at
> org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection.prepareStatement(LoggingConnectionDecorator.java:251)
>         at
> org.apache.openjpa.lib.jdbc.DelegatingConnection.prepareStatement(DelegatingConnection.java:133)
>         at
> org.apache.openjpa.lib.jdbc.ConfiguringConnectionDecorator$ConfiguringConnection.prepareStatement(ConfiguringConnectionDecorator.java:140)
>         at
> org.apache.openjpa.lib.jdbc.DelegatingConnection.prepareStatement(DelegatingConnection.java:122)
>         at
> org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:449)
>         at
> org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:429)
>         at
> org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:418)
>         at
> org.apache.openjpa.jdbc.kernel.TableJDBCSeq.prepareStatement(TableJDBCSeq.java:807)
>         at
> org.apache.openjpa.jdbc.kernel.TableJDBCSeq.getSequence(TableJDBCSeq.java:546)
>         at
> org.apache.openjpa.jdbc.kernel.TableJDBCSeq.setSequence(TableJDBCSeq.java:588)
>         at
> org.apache.openjpa.jdbc.kernel.TableJDBCSeq$AllocateSequenceRunnable.run(TableJDBCSeq.java:893)
>         at
> org.apache.openjpa.ee.AbstractManagedRuntime.doNonTransactionalWork(AbstractManagedRuntime.java:89)
>         at
> org.apache.openjpa.ee.AutomaticManagedRuntime.doNonTransactionalWork(AutomaticManagedRuntime.java:315)
>         at
> org.apache.openjpa.jdbc.kernel.TableJDBCSeq.allocateSequence(TableJDBCSeq.java:445)
>         at
> org.apache.openjpa.jdbc.kernel.TableJDBCSeq.nextInternal(TableJDBCSeq.java:300)
>         at
> org.apache.openjpa.jdbc.kernel.AbstractJDBCSeq.next(AbstractJDBCSeq.java:60)
>         ... 83 more
> NestedThrowables:
> cubrid.jdbc.driver.CUBRIDException: Syntax: syntax error, unexpected $end,
> expecting OF
>         at
> cubrid.jdbc.driver.CUBRIDConnection.createCUBRIDException(CUBRIDConnection.java:829)
>         at
> cubrid.jdbc.driver.CUBRIDConnection.prepare(CUBRIDConnection.java:583)
>         at
> cubrid.jdbc.driver.CUBRIDConnection.prepare(CUBRIDConnection.java:714)
>         at
> cubrid.jdbc.driver.CUBRIDConnection.prepareStatement(CUBRIDConnection.java:394)
>         at
> org.apache.openjpa.lib.jdbc.DelegatingConnection.prepareStatement(DelegatingConnection.java:135)
>         at
> org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection.prepareStatement(LoggingConnectionDecorator.java:248)
>         at
> org.apache.openjpa.lib.jdbc.DelegatingConnection.prepareStatement(DelegatingConnection.java:133)
>         at
> org.apache.openjpa.lib.jdbc.ConfiguringConnectionDecorator$ConfiguringConnection.prepareStatement(ConfiguringConnectionDecorator.java:140)
>         at
> org.apache.openjpa.lib.jdbc.DelegatingConnection.prepareStatement(DelegatingConnection.java:122)
>         at
> org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:449)
>         at
> org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:429)
>         at
> org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:418)
>         at
> org.apache.openjpa.jdbc.kernel.TableJDBCSeq.prepareStatement(TableJDBCSeq.java:807)
>         at
> org.apache.openjpa.jdbc.kernel.TableJDBCSeq.getSequence(TableJDBCSeq.java:546)
>         at
> org.apache.openjpa.jdbc.kernel.TableJDBCSeq.setSequence(TableJDBCSeq.java:588)
>         at
> org.apache.openjpa.jdbc.kernel.TableJDBCSeq$AllocateSequenceRunnable.run(TableJDBCSeq.java:893)
>         at
> org.apache.openjpa.ee.AbstractManagedRuntime.doNonTransactionalWork(AbstractManagedRuntime.java:89)
>         at
> org.apache.openjpa.ee.AutomaticManagedRuntime.doNonTransactionalWork(AutomaticManagedRuntime.java:315)
>         at
> org.apache.openjpa.jdbc.kernel.TableJDBCSeq.allocateSequence(TableJDBCSeq.java:445)
>         at
> org.apache.openjpa.jdbc.kernel.TableJDBCSeq.nextInternal(TableJDBCSeq.java:300)
>         at
> org.apache.openjpa.jdbc.kernel.AbstractJDBCSeq.next(AbstractJDBCSeq.java:60)
>         at
> org.apache.openjpa.util.ImplHelper.generateValue(ImplHelper.java:160)
>         at
> org.apache.openjpa.util.ImplHelper.generateFieldValue(ImplHelper.java:144)
>         at
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.assignField(JDBCStoreManager.java:778)
>         at
> org.apache.openjpa.util.ApplicationIds.assign(ApplicationIds.java:493)
>         at
> org.apache.openjpa.util.ApplicationIds.assign(ApplicationIds.java:469)
>         at
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.assignObjectId(JDBCStoreManager.java:762)
>         at
> org.apache.openjpa.kernel.DelegatingStoreManager.assignObjectId(DelegatingStoreManager.java:135)
>         at
> org.apache.openjpa.kernel.StateManagerImpl.assignObjectId(StateManagerImpl.java:600)
>         at
> org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:3023)
>         at
> org.apache.openjpa.kernel.PNewState.beforeFlush(PNewState.java:44)
>         at
> org.apache.openjpa.kernel.StateManagerImpl.beforeFlush(StateManagerImpl.java:1042)
>         at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2114)
>         at
> org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2074)
>         at
> org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1992)
>         at
> org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:520)
>         at
> org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:504)
>         at
> org.apache.geronimo.transaction.manager.TransactionImpl.beforePrepare(TransactionImpl.java:407)
>         at
> org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:255)
>         at
> org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:252)
>
> Anyone has a hint?
>
> Regards Michael
>

Mime
View raw message