You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-dev@db.apache.org by Michael Bouschen <mi...@akquinet.de> on 2011/07/20 18:08:03 UTC
Fwd: svn commit: r1148192 - /db/jdo/trunk/tck/src/conf/jdori-pmf.properties
Hi Andy,
which is the schema / testcase where we need a SEQUENCE table?
Regards Michael
-------- Original-Nachricht --------
Betreff: svn commit: r1148192 -
/db/jdo/trunk/tck/src/conf/jdori-pmf.properties
Datum: Tue, 19 Jul 2011 06:30:04 +0000
Von: <an...@apache.org>
Antwort an: <jd...@db.apache.org>
An: <jd...@db.apache.org>
Author: andyj
Date: Tue Jul 19 06:30:03 2011
New Revision: 1148192
URL: http://svn.apache.org/viewvc?rev=1148192&view=rev
Log:
need to have autoCreate set since one schema uses "increment" and doesn't have SEQUENCE table present
Modified:
db/jdo/trunk/tck/src/conf/jdori-pmf.properties
Modified: db/jdo/trunk/tck/src/conf/jdori-pmf.properties
URL: http://svn.apache.org/viewvc/db/jdo/trunk/tck/src/conf/jdori-pmf.properties?rev=1148192&r1=1148191&r2=1148192&view=diff
==============================================================================
--- db/jdo/trunk/tck/src/conf/jdori-pmf.properties (original)
+++ db/jdo/trunk/tck/src/conf/jdori-pmf.properties Tue Jul 19 06:30:03 2011
@@ -33,14 +33,14 @@ datanucleus.metadata.validate=false
datanucleus.validateTables=false
datanucleus.validateConstraints=false
datanucleus.autoCreateSchema=false
-datanucleus.autoCreateTables=false
+datanucleus.autoCreateTables=true
datanucleus.autoCreateConstraints=false
datanucleus.autoCreateColumns=false
datanucleus.rdbms.CheckExistTablesOrViews=false
datanucleus.autoStartMechanism=None
#datanucleus.connectionPoolingType=DBCP
datanucleus.connectionPoolingType=C3P0
-#datanucleus.connectionPool.maxStatements=20
+datanucleus.connectionPool.maxStatements=20
datanucleus.implementationCreatorName=asm
datanucleus.rdbms.omitDatabaseMetaDataGetColumns=true
Re: svn commit: r1148192 - /db/jdo/trunk/tck/src/conf/jdori-pmf.properties
Posted by Andy Jefferson <an...@datanucleus.org>.
> The intent of the "increment" strategy is to allow use of a database
> that the user has no control over (for example, the DBA refuses to add
> new tables). It's not an optimal strategy but a useful one. The JDO
> implementation can cache the largest key used and mitigate database
> access for each insert.
>
> But without changing the specification, I don't think it's ok to
> require another table in order to implement "increment". That's what
> "sequence" is for.
>
> Was there a recent change in DataNucleus that now "increment" is
> implemented using an internal "sequence" strategy?
DataNucleus simply changed to make use of the "autoCreate" flags in imposing
whether it was allowed to create *any* schema components. It has ALWAYS used a
table for "increment", that is not a change. "sequence" has always been to use
a datastore sequence also.
--
Andy
DataNucleus (http://www.datanucleus.org)
Re: svn commit: r1148192 - /db/jdo/trunk/tck/src/conf/jdori-pmf.properties
Posted by Craig L Russell <cr...@oracle.com>.
On Aug 9, 2011, at 1:31 PM, Michael Bouschen wrote:
> Hi Andy,
>
> I looked at the datastoreidentity "detach" test.
>
> The test uses the PersistenceCapable classes from the shoppingcart
> package. They are mapped using the "increment" strategy:
> <datastore-identity strategy="increment" column="DATASTORE_ID"/>
>
> Is it possible that DataNucleus recently changed the implementation
> of the "increment" strategy? The test was working before without an
> additional sequence table.
>
> Here is what the spec says about the "increment" strategy:
> The value "increment" specifies a strategy that simply finds the
> largest key already in the database and increments the key value for
> new instances. It can be used with integral column types when the
> JDO application is the only database user inserting new instances.
>
> I have the feeling the intention of the "increment" strategy is the
> case where the JDO implementation keeps track of the keys and
> internally calculates the next value. So I'm wondering whether
> mapping this to a sequence table is OK.
>
> What do you think?
>
The intent of the "increment" strategy is to allow use of a database
that the user has no control over (for example, the DBA refuses to add
new tables). It's not an optimal strategy but a useful one. The JDO
implementation can cache the largest key used and mitigate database
access for each insert.
But without changing the specification, I don't think it's ok to
require another table in order to implement "increment". That's what
"sequence" is for.
Was there a recent change in DataNucleus that now "increment" is
implemented using an internal "sequence" strategy?
Craig
>
> Regards Michael
>
>> Hi Andy,
>>
>> thanks for the info!
>>
>> After removing my local maven repository (~/.m2/repository) I see
>> the same results. I have no idea what caused the difference,
>> especially because I had more errors and failures in other
>> testcases. They are all gone away. I will take a closer look at
>> the datastoreidentity "detach" test.
>>
>> Regards Michael
>>
>>>> I run the test as you proposed and there is one configuration
>>>> failing:
>>>> companyPMInterface (for application- and datastoreidentity).
>>>>
>>>> The configurations runs the completeness test with basis mapping
>>>> (meaning schema) using PersistenceCapable interfaces where the
>>>> implementation is created by the PM. The test fails with the
>>>> following
>>>> exception:
>>>> NucleusDataStoreException: Add request failed : INSERT INTO
>>>> APPLICATIONIDENTITY0.PROJECT_MEMBER (PROJID,"MEMBER") VALUES (?,?)
>>>> with an nested exception:
>>>> SQLException: Only executeBatch and clearBatch allowed in the
>>>> middle
>>>> of a batch.
>>>>
>>>> Is this the failure you meant or is this a separate issue?
>>> Hi Michael,
>>>
>>> I get no such failure. I simply turn off autoCreateTables from
>>> jdori-pmf then
>>> mvn clean install
>>> so have a clean DB and get the following from datastoreidentity
>>> "detach" test
>>>
>>> There were 18 errors:
>>> 1)
>>> testNullTransientAndUndetachableIsDetachedFalse
>>> (org
>>> .apache.jdo.tck.api.jdohelper.IsDetached)javax.jdo.JDOUserException:
>>> Could not create "increment"/"table" value-generation container
>>> DATASTOREIDENTITY8.SEQUENCE_TABLE since autoCreate flags do not
>>> allow it.
>>> at
>>> org
>>> .datanucleus
>>> .api
>>> .jdo
>>> .NucleusJDOHelper
>>> .getJDOExceptionForNucleusException(NucleusJDOHelper.java:520)
>>> at
>>> org
>>> .datanucleus
>>> .api
>>> .jdo
>>> .JDOPersistenceManager
>>> .jdoMakePersistent(JDOPersistenceManager.java:739)
>>> at
>>> org
>>> .datanucleus
>>> .api
>>> .jdo
>>> .JDOPersistenceManager.makePersistent(JDOPersistenceManager.java:
>>> 759)
>>> at
>>> org
>>> .apache
>>> .jdo
>>> .tck
>>> .api
>>> .persistencemanager.detach.DetachTest.localSetUp(DetachTest.java:79)
>>> at org.apache.jdo.tck.JDO_Test.setUp(JDO_Test.java:255)
>>> at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:271)
>>> at
>>> org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:
>>> 108)
>>> at
>>> org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:
>>> 148)
>>> at
>>> org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:
>>> 123)
>>> NestedThrowablesStackTrace:
>>> Could not create "increment"/"table" value-generation container
>>> DATASTOREIDENTITY8.SEQUENCE_TABLE since autoCreate flags do not
>>> allow it.
>>> org.datanucleus.exceptions.NucleusUserException: Could not create
>>> "increment"/"table" value-generation container
>>> DATASTOREIDENTITY8.SEQUENCE_TABLE since autoCreate flags do not
>>> allow it.
>>> at
>>> org
>>> .datanucleus
>>> .store
>>> .rdbms
>>> .valuegenerator
>>> .TableGenerator.createRepository(TableGenerator.java:261)
>>> at
>>> org
>>> .datanucleus
>>> .store
>>> .rdbms
>>> .valuegenerator
>>> .AbstractRDBMSGenerator
>>> .obtainGenerationBlock(AbstractRDBMSGenerator.java:162)
>>> at
>>> org
>>> .datanucleus
>>> .store
>>> .valuegenerator
>>> .AbstractGenerator.obtainGenerationBlock(AbstractGenerator.java:197)
>>> at
>>> org
>>> .datanucleus
>>> .store
>>> .valuegenerator.AbstractGenerator.next(AbstractGenerator.java:105)
>>> at
>>> org
>>> .datanucleus
>>> .store
>>> .rdbms
>>> .RDBMSStoreManager
>>> .getStrategyValueForGenerator(RDBMSStoreManager.java:1219)
>>> at
>>> org
>>> .datanucleus
>>> .store
>>> .AbstractStoreManager.getStrategyValue(AbstractStoreManager.java:
>>> 1514)
>>> at
>>> org
>>> .datanucleus.ObjectManagerImpl.newObjectId(ObjectManagerImpl.java:
>>> 3381)
>>> at
>>> org
>>> .datanucleus
>>> .state.JDOStateManagerImpl.setIdentity(JDOStateManagerImpl.java:835)
>>> at
>>> org
>>> .datanucleus
>>> .state
>>> .JDOStateManagerImpl
>>> .initialiseForPersistentNew(JDOStateManagerImpl.java:428)
>>> at
>>> org
>>> .datanucleus
>>> .state
>>> .ObjectProviderFactory
>>> .newForPersistentNew(ObjectProviderFactory.java:163)
>>> at
>>> org
>>> .datanucleus
>>> .ObjectManagerImpl.persistObjectInternal(ObjectManagerImpl.java:
>>> 1778)
>>> at
>>> org
>>> .datanucleus
>>> .ObjectManagerImpl.persistObjectWork(ObjectManagerImpl.java:1627)
>>> at
>>> org
>>> .datanucleus
>>> .ObjectManagerImpl.persistObject(ObjectManagerImpl.java:1474)
>>> at
>>> org
>>> .datanucleus
>>> .api
>>> .jdo
>>> .JDOPersistenceManager
>>> .jdoMakePersistent(JDOPersistenceManager.java:734)
>>> at
>>> org
>>> .datanucleus
>>> .api
>>> .jdo
>>> .JDOPersistenceManager.makePersistent(JDOPersistenceManager.java:
>>> 759)
>>> at
>>> org
>>> .apache
>>> .jdo
>>> .tck
>>> .api
>>> .persistencemanager.detach.DetachTest.localSetUp(DetachTest.java:79)
>>> at org.apache.jdo.tck.JDO_Test.setUp(JDO_Test.java:255)
>>> at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:271)
>>> at
>>> org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:
>>> 108)
>>> at
>>> org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:
>>> 148)
>>> at
>>> org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:
>>> 123)
>>>
>>> i.e there is a component of schema missing from the config files
>>> and you are
>>> prohibited from creating it without that persistence property.
>>> Consequently
>>> that property was turned on (unless you wanted to add the schema for
>>> DATASTOREIDENTITY8.SEQUENCE_TABLE).
>>>
>>> No other tests fail.
>>>
>>>
>>
>>
>
>
> --
> *Michael Bouschen*
> *Prokurist*
>
> akquinet tech@spree GmbH
> Bülowstr. 66, D-10783 Berlin
>
> Fon: +49 30 235 520-33
> Fax: +49 30 217 520-12
> Email: michael.bouschen@akquinet.de
> Web: www.akquinet.de <http://www.akquinet.de>
>
> akquinet tech@spree GmbH, Berlin
> Geschäftsführung: Martin Weber, Dr. Torsten Fink
> Amtsgericht Berlin-Charlottenburg HRB 86780 B
> USt.-Id. Nr.: DE 225 964 680
Craig L Russell
Architect, Oracle
http://db.apache.org/jdo
408 276-5638 mailto:Craig.Russell@oracle.com
P.S. A good JDO? O, Gasp!
Re: Fwd: svn commit: r1148192 - /db/jdo/trunk/tck/src/conf/jdori-pmf.properties
Posted by Michael Bouschen <mi...@akquinet.de>.
Hi Andy,
I looked at the datastoreidentity "detach" test.
The test uses the PersistenceCapable classes from the shoppingcart
package. They are mapped using the "increment" strategy:
<datastore-identity strategy="increment" column="DATASTORE_ID"/>
Is it possible that DataNucleus recently changed the implementation of
the "increment" strategy? The test was working before without an
additional sequence table.
Here is what the spec says about the "increment" strategy:
The value "increment" specifies a strategy that simply finds the
largest key already in the database and increments the key value for new
instances. It can be used with integral column types when the JDO
application is the only database user inserting new instances.
I have the feeling the intention of the "increment" strategy is the case
where the JDO implementation keeps track of the keys and internally
calculates the next value. So I'm wondering whether mapping this to a
sequence table is OK.
What do you think?
Regards Michael
> Hi Andy,
>
> thanks for the info!
>
> After removing my local maven repository (~/.m2/repository) I see the
> same results. I have no idea what caused the difference, especially
> because I had more errors and failures in other testcases. They are
> all gone away. I will take a closer look at the datastoreidentity
> "detach" test.
>
> Regards Michael
>
>>> I run the test as you proposed and there is one configuration failing:
>>> companyPMInterface (for application- and datastoreidentity).
>>>
>>> The configurations runs the completeness test with basis mapping
>>> (meaning schema) using PersistenceCapable interfaces where the
>>> implementation is created by the PM. The test fails with the following
>>> exception:
>>> NucleusDataStoreException: Add request failed : INSERT INTO
>>> APPLICATIONIDENTITY0.PROJECT_MEMBER (PROJID,"MEMBER") VALUES (?,?)
>>> with an nested exception:
>>> SQLException: Only executeBatch and clearBatch allowed in the
>>> middle
>>> of a batch.
>>>
>>> Is this the failure you meant or is this a separate issue?
>> Hi Michael,
>>
>> I get no such failure. I simply turn off autoCreateTables from
>> jdori-pmf then
>> mvn clean install
>> so have a clean DB and get the following from datastoreidentity
>> "detach" test
>>
>> There were 18 errors:
>> 1)
>> testNullTransientAndUndetachableIsDetachedFalse(org.apache.jdo.tck.api.jdohelper.IsDetached)javax.jdo.JDOUserException:
>>
>> Could not create "increment"/"table" value-generation container
>> DATASTOREIDENTITY8.SEQUENCE_TABLE since autoCreate flags do not allow
>> it.
>> at
>> org.datanucleus.api.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:520)
>>
>> at
>> org.datanucleus.api.jdo.JDOPersistenceManager.jdoMakePersistent(JDOPersistenceManager.java:739)
>>
>> at
>> org.datanucleus.api.jdo.JDOPersistenceManager.makePersistent(JDOPersistenceManager.java:759)
>>
>> at
>> org.apache.jdo.tck.api.persistencemanager.detach.DetachTest.localSetUp(DetachTest.java:79)
>>
>> at org.apache.jdo.tck.JDO_Test.setUp(JDO_Test.java:255)
>> at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:271)
>> at
>> org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:108)
>> at
>> org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:148)
>> at
>> org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:123)
>> NestedThrowablesStackTrace:
>> Could not create "increment"/"table" value-generation container
>> DATASTOREIDENTITY8.SEQUENCE_TABLE since autoCreate flags do not allow
>> it.
>> org.datanucleus.exceptions.NucleusUserException: Could not create
>> "increment"/"table" value-generation container
>> DATASTOREIDENTITY8.SEQUENCE_TABLE since autoCreate flags do not allow
>> it.
>> at
>> org.datanucleus.store.rdbms.valuegenerator.TableGenerator.createRepository(TableGenerator.java:261)
>>
>> at
>> org.datanucleus.store.rdbms.valuegenerator.AbstractRDBMSGenerator.obtainGenerationBlock(AbstractRDBMSGenerator.java:162)
>>
>> at
>> org.datanucleus.store.valuegenerator.AbstractGenerator.obtainGenerationBlock(AbstractGenerator.java:197)
>>
>> at
>> org.datanucleus.store.valuegenerator.AbstractGenerator.next(AbstractGenerator.java:105)
>>
>> at
>> org.datanucleus.store.rdbms.RDBMSStoreManager.getStrategyValueForGenerator(RDBMSStoreManager.java:1219)
>>
>> at
>> org.datanucleus.store.AbstractStoreManager.getStrategyValue(AbstractStoreManager.java:1514)
>>
>> at
>> org.datanucleus.ObjectManagerImpl.newObjectId(ObjectManagerImpl.java:3381)
>>
>> at
>> org.datanucleus.state.JDOStateManagerImpl.setIdentity(JDOStateManagerImpl.java:835)
>>
>> at
>> org.datanucleus.state.JDOStateManagerImpl.initialiseForPersistentNew(JDOStateManagerImpl.java:428)
>>
>> at
>> org.datanucleus.state.ObjectProviderFactory.newForPersistentNew(ObjectProviderFactory.java:163)
>>
>> at
>> org.datanucleus.ObjectManagerImpl.persistObjectInternal(ObjectManagerImpl.java:1778)
>>
>> at
>> org.datanucleus.ObjectManagerImpl.persistObjectWork(ObjectManagerImpl.java:1627)
>>
>> at
>> org.datanucleus.ObjectManagerImpl.persistObject(ObjectManagerImpl.java:1474)
>>
>> at
>> org.datanucleus.api.jdo.JDOPersistenceManager.jdoMakePersistent(JDOPersistenceManager.java:734)
>>
>> at
>> org.datanucleus.api.jdo.JDOPersistenceManager.makePersistent(JDOPersistenceManager.java:759)
>>
>> at
>> org.apache.jdo.tck.api.persistencemanager.detach.DetachTest.localSetUp(DetachTest.java:79)
>>
>> at org.apache.jdo.tck.JDO_Test.setUp(JDO_Test.java:255)
>> at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:271)
>> at
>> org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:108)
>> at
>> org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:148)
>> at
>> org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:123)
>>
>> i.e there is a component of schema missing from the config files and
>> you are
>> prohibited from creating it without that persistence property.
>> Consequently
>> that property was turned on (unless you wanted to add the schema for
>> DATASTOREIDENTITY8.SEQUENCE_TABLE).
>>
>> No other tests fail.
>>
>>
>
>
--
*Michael Bouschen*
*Prokurist*
akquinet tech@spree GmbH
Bülowstr. 66, D-10783 Berlin
Fon: +49 30 235 520-33
Fax: +49 30 217 520-12
Email: michael.bouschen@akquinet.de
Web: www.akquinet.de <http://www.akquinet.de>
akquinet tech@spree GmbH, Berlin
Geschäftsführung: Martin Weber, Dr. Torsten Fink
Amtsgericht Berlin-Charlottenburg HRB 86780 B
USt.-Id. Nr.: DE 225 964 680
Re: Fwd: svn commit: r1148192 - /db/jdo/trunk/tck/src/conf/jdori-pmf.properties
Posted by Michael Bouschen <mi...@akquinet.de>.
Hi Andy,
thanks for the info!
After removing my local maven repository (~/.m2/repository) I see the
same results. I have no idea what caused the difference, especially
because I had more errors and failures in other testcases. They are all
gone away. I will take a closer look at the datastoreidentity "detach"
test.
Regards Michael
>> I run the test as you proposed and there is one configuration failing:
>> companyPMInterface (for application- and datastoreidentity).
>>
>> The configurations runs the completeness test with basis mapping
>> (meaning schema) using PersistenceCapable interfaces where the
>> implementation is created by the PM. The test fails with the following
>> exception:
>> NucleusDataStoreException: Add request failed : INSERT INTO
>> APPLICATIONIDENTITY0.PROJECT_MEMBER (PROJID,"MEMBER") VALUES (?,?)
>> with an nested exception:
>> SQLException: Only executeBatch and clearBatch allowed in the middle
>> of a batch.
>>
>> Is this the failure you meant or is this a separate issue?
> Hi Michael,
>
> I get no such failure. I simply turn off autoCreateTables from jdori-pmf then
> mvn clean install
> so have a clean DB and get the following from datastoreidentity "detach" test
>
> There were 18 errors:
> 1)
> testNullTransientAndUndetachableIsDetachedFalse(org.apache.jdo.tck.api.jdohelper.IsDetached)javax.jdo.JDOUserException:
> Could not create "increment"/"table" value-generation container
> DATASTOREIDENTITY8.SEQUENCE_TABLE since autoCreate flags do not allow it.
> at
> org.datanucleus.api.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:520)
> at
> org.datanucleus.api.jdo.JDOPersistenceManager.jdoMakePersistent(JDOPersistenceManager.java:739)
> at
> org.datanucleus.api.jdo.JDOPersistenceManager.makePersistent(JDOPersistenceManager.java:759)
> at
> org.apache.jdo.tck.api.persistencemanager.detach.DetachTest.localSetUp(DetachTest.java:79)
> at org.apache.jdo.tck.JDO_Test.setUp(JDO_Test.java:255)
> at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:271)
> at
> org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:108)
> at
> org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:148)
> at
> org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:123)
> NestedThrowablesStackTrace:
> Could not create "increment"/"table" value-generation container
> DATASTOREIDENTITY8.SEQUENCE_TABLE since autoCreate flags do not allow it.
> org.datanucleus.exceptions.NucleusUserException: Could not create
> "increment"/"table" value-generation container
> DATASTOREIDENTITY8.SEQUENCE_TABLE since autoCreate flags do not allow it.
> at
> org.datanucleus.store.rdbms.valuegenerator.TableGenerator.createRepository(TableGenerator.java:261)
> at
> org.datanucleus.store.rdbms.valuegenerator.AbstractRDBMSGenerator.obtainGenerationBlock(AbstractRDBMSGenerator.java:162)
> at
> org.datanucleus.store.valuegenerator.AbstractGenerator.obtainGenerationBlock(AbstractGenerator.java:197)
> at
> org.datanucleus.store.valuegenerator.AbstractGenerator.next(AbstractGenerator.java:105)
> at
> org.datanucleus.store.rdbms.RDBMSStoreManager.getStrategyValueForGenerator(RDBMSStoreManager.java:1219)
> at
> org.datanucleus.store.AbstractStoreManager.getStrategyValue(AbstractStoreManager.java:1514)
> at
> org.datanucleus.ObjectManagerImpl.newObjectId(ObjectManagerImpl.java:3381)
> at
> org.datanucleus.state.JDOStateManagerImpl.setIdentity(JDOStateManagerImpl.java:835)
> at
> org.datanucleus.state.JDOStateManagerImpl.initialiseForPersistentNew(JDOStateManagerImpl.java:428)
> at
> org.datanucleus.state.ObjectProviderFactory.newForPersistentNew(ObjectProviderFactory.java:163)
> at
> org.datanucleus.ObjectManagerImpl.persistObjectInternal(ObjectManagerImpl.java:1778)
> at
> org.datanucleus.ObjectManagerImpl.persistObjectWork(ObjectManagerImpl.java:1627)
> at
> org.datanucleus.ObjectManagerImpl.persistObject(ObjectManagerImpl.java:1474)
> at
> org.datanucleus.api.jdo.JDOPersistenceManager.jdoMakePersistent(JDOPersistenceManager.java:734)
> at
> org.datanucleus.api.jdo.JDOPersistenceManager.makePersistent(JDOPersistenceManager.java:759)
> at
> org.apache.jdo.tck.api.persistencemanager.detach.DetachTest.localSetUp(DetachTest.java:79)
> at org.apache.jdo.tck.JDO_Test.setUp(JDO_Test.java:255)
> at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:271)
> at
> org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:108)
> at
> org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:148)
> at
> org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:123)
>
> i.e there is a component of schema missing from the config files and you are
> prohibited from creating it without that persistence property. Consequently
> that property was turned on (unless you wanted to add the schema for
> DATASTOREIDENTITY8.SEQUENCE_TABLE).
>
> No other tests fail.
>
>
--
*Michael Bouschen*
*Prokurist*
akquinet tech@spree GmbH
Bülowstr. 66, D-10783 Berlin
Fon: +49 30 235 520-33
Fax: +49 30 217 520-12
Email: michael.bouschen@akquinet.de
Web: www.akquinet.de <http://www.akquinet.de>
akquinet tech@spree GmbH, Berlin
Geschäftsführung: Martin Weber, Dr. Torsten Fink
Amtsgericht Berlin-Charlottenburg HRB 86780 B
USt.-Id. Nr.: DE 225 964 680
Re: Fwd: svn commit: r1148192 - /db/jdo/trunk/tck/src/conf/jdori-pmf.properties
Posted by Andy Jefferson <an...@datanucleus.org>.
> I run the test as you proposed and there is one configuration failing:
> companyPMInterface (for application- and datastoreidentity).
>
> The configurations runs the completeness test with basis mapping
> (meaning schema) using PersistenceCapable interfaces where the
> implementation is created by the PM. The test fails with the following
> exception:
> NucleusDataStoreException: Add request failed : INSERT INTO
> APPLICATIONIDENTITY0.PROJECT_MEMBER (PROJID,"MEMBER") VALUES (?,?)
> with an nested exception:
> SQLException: Only executeBatch and clearBatch allowed in the middle
> of a batch.
>
> Is this the failure you meant or is this a separate issue?
Hi Michael,
I get no such failure. I simply turn off autoCreateTables from jdori-pmf then
mvn clean install
so have a clean DB and get the following from datastoreidentity "detach" test
There were 18 errors:
1)
testNullTransientAndUndetachableIsDetachedFalse(org.apache.jdo.tck.api.jdohelper.IsDetached)javax.jdo.JDOUserException:
Could not create "increment"/"table" value-generation container
DATASTOREIDENTITY8.SEQUENCE_TABLE since autoCreate flags do not allow it.
at
org.datanucleus.api.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:520)
at
org.datanucleus.api.jdo.JDOPersistenceManager.jdoMakePersistent(JDOPersistenceManager.java:739)
at
org.datanucleus.api.jdo.JDOPersistenceManager.makePersistent(JDOPersistenceManager.java:759)
at
org.apache.jdo.tck.api.persistencemanager.detach.DetachTest.localSetUp(DetachTest.java:79)
at org.apache.jdo.tck.JDO_Test.setUp(JDO_Test.java:255)
at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:271)
at
org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:108)
at
org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:148)
at
org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:123)
NestedThrowablesStackTrace:
Could not create "increment"/"table" value-generation container
DATASTOREIDENTITY8.SEQUENCE_TABLE since autoCreate flags do not allow it.
org.datanucleus.exceptions.NucleusUserException: Could not create
"increment"/"table" value-generation container
DATASTOREIDENTITY8.SEQUENCE_TABLE since autoCreate flags do not allow it.
at
org.datanucleus.store.rdbms.valuegenerator.TableGenerator.createRepository(TableGenerator.java:261)
at
org.datanucleus.store.rdbms.valuegenerator.AbstractRDBMSGenerator.obtainGenerationBlock(AbstractRDBMSGenerator.java:162)
at
org.datanucleus.store.valuegenerator.AbstractGenerator.obtainGenerationBlock(AbstractGenerator.java:197)
at
org.datanucleus.store.valuegenerator.AbstractGenerator.next(AbstractGenerator.java:105)
at
org.datanucleus.store.rdbms.RDBMSStoreManager.getStrategyValueForGenerator(RDBMSStoreManager.java:1219)
at
org.datanucleus.store.AbstractStoreManager.getStrategyValue(AbstractStoreManager.java:1514)
at
org.datanucleus.ObjectManagerImpl.newObjectId(ObjectManagerImpl.java:3381)
at
org.datanucleus.state.JDOStateManagerImpl.setIdentity(JDOStateManagerImpl.java:835)
at
org.datanucleus.state.JDOStateManagerImpl.initialiseForPersistentNew(JDOStateManagerImpl.java:428)
at
org.datanucleus.state.ObjectProviderFactory.newForPersistentNew(ObjectProviderFactory.java:163)
at
org.datanucleus.ObjectManagerImpl.persistObjectInternal(ObjectManagerImpl.java:1778)
at
org.datanucleus.ObjectManagerImpl.persistObjectWork(ObjectManagerImpl.java:1627)
at
org.datanucleus.ObjectManagerImpl.persistObject(ObjectManagerImpl.java:1474)
at
org.datanucleus.api.jdo.JDOPersistenceManager.jdoMakePersistent(JDOPersistenceManager.java:734)
at
org.datanucleus.api.jdo.JDOPersistenceManager.makePersistent(JDOPersistenceManager.java:759)
at
org.apache.jdo.tck.api.persistencemanager.detach.DetachTest.localSetUp(DetachTest.java:79)
at org.apache.jdo.tck.JDO_Test.setUp(JDO_Test.java:255)
at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:271)
at
org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:108)
at
org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:148)
at
org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:123)
i.e there is a component of schema missing from the config files and you are
prohibited from creating it without that persistence property. Consequently
that property was turned on (unless you wanted to add the schema for
DATASTOREIDENTITY8.SEQUENCE_TABLE).
No other tests fail.
--
Andy
DataNucleus (http://www.datanucleus.org)
Re: Fwd: svn commit: r1148192 - /db/jdo/trunk/tck/src/conf/jdori-pmf.properties
Posted by Michael Bouschen <mi...@akquinet.de>.
Hi Andy,
I run the test as you proposed and there is one configuration failing:
companyPMInterface (for application- and datastoreidentity).
The configurations runs the completeness test with basis mapping
(meaning schema) using PersistenceCapable interfaces where the
implementation is created by the PM. The test fails with the following
exception:
NucleusDataStoreException: Add request failed : INSERT INTO
APPLICATIONIDENTITY0.PROJECT_MEMBER (PROJID,"MEMBER") VALUES (?,?)
with an nested exception:
SQLException: Only executeBatch and clearBatch allowed in the middle
of a batch.
Is this the failure you meant or is this a separate issue?
Regards Michael
>> which is the schema / testcase where we need a SEQUENCE table?
> Hi Michael,
>
> think it was schema8. Turn off that persistence property that I added, and run
> against 3.0.0-release-SNAPSHOT of datanucleus-core, datanucleus-api-jdo,
> datanucleus-rdbms and it will fail a test IIRC.
>
>
--
*Michael Bouschen*
*Prokurist*
akquinet tech@spree GmbH
Bülowstr. 66, D-10783 Berlin
Fon: +49 30 235 520-33
Fax: +49 30 217 520-12
Email: michael.bouschen@akquinet.de
Web: www.akquinet.de <http://www.akquinet.de>
akquinet tech@spree GmbH, Berlin
Geschäftsführung: Martin Weber, Dr. Torsten Fink
Amtsgericht Berlin-Charlottenburg HRB 86780 B
USt.-Id. Nr.: DE 225 964 680
Re: Fwd: svn commit: r1148192 - /db/jdo/trunk/tck/src/conf/jdori-pmf.properties
Posted by Andy Jefferson <an...@datanucleus.org>.
> which is the schema / testcase where we need a SEQUENCE table?
Hi Michael,
think it was schema8. Turn off that persistence property that I added, and run
against 3.0.0-release-SNAPSHOT of datanucleus-core, datanucleus-api-jdo,
datanucleus-rdbms and it will fail a test IIRC.
--
Andy
DataNucleus (http://www.datanucleus.org)