Re: JDOQL super keyword

2006-01-08 Thread erik
Craig,

In JDOQL BNF, it's not a valid field accessor. The same for ClassName.super

Current
---
FieldAccess:
FieldName
Primary . FieldName

Regards,

Erik Bengtson

Quoting Craig L Russell <[EMAIL PROTECTED]>:

> Hi Erik,
>
> It is not in the spec because it's already a Java keyword. Please see
> 14.4:
>
> Keywords
> Keywords must not be used as package names, class names, parameter
> names, or variable names in queries. Keywords are permitted as field
> names only if they are on the right side of the “.” in field access
> expressions as defined in the Java Language Specification second
> edition, section 15.11. Keywords include the Java language keywords
> and the JDOQL keywords. Java keywords are as defined in the Java
> language specification section 3.9, plus the boolean literals true
> and false, and the null literal. JDOQL keywords maybe written in all
> lower case or all upper case.
>
> What specifically are you interested in knowing?
>
> Regards,
>
> Craig
>
> On Jan 7, 2006, at 3:57 PM, [EMAIL PROTECTED] wrote:
>
> > Hi,
> >
> > Is it intentionally not in the spec?
> >
> > Regards,
> >
> > Erik Bengtson
>
> Craig Russell
> Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
> 408 276-5638 mailto:[EMAIL PROTECTED]
> P.S. A good JDO? O, Gasp!
>
>





[jira] Assigned: (JDO-249) JPOX throws JDOFatalInternalException for queries using "new MyClass(...)" in result clauses

2006-01-08 Thread Andy Jefferson (JIRA)
 [ http://issues.apache.org/jira/browse/JDO-249?page=all ]

Andy Jefferson reassigned JDO-249:
--

Assign To: Andy Jefferson  (was: Erik Bengtson)

> JPOX throws JDOFatalInternalException for queries using "new MyClass(...)" in 
> result clauses
> 
>
>  Key: JDO-249
>  URL: http://issues.apache.org/jira/browse/JDO-249
>  Project: JDO
> Type: Bug
>   Components: tck20
> Reporter: Michael Watzek
> Assignee: Andy Jefferson

>
> Test case ResultClassRequirements fails for the query below. The query has a 
> constructor call in the result clause.
> 14:23:07,781 (main) DEBUG [org.apache.jdo.tck] - Executing API query: SELECT 
> new LongString(personid, lastname) FROM 
> org.apache.jdo.tck.pc.company.FullTimeEmployee IMPORTS import 
> org.apache.jdo.tck.query.result.classes.LongString; 
> 14:23:07,781 (main) INFO  [org.apache.jdo.tck] - Exception during setUp or 
> runtest: 
> javax.jdo.JDOFatalInternalException: The expression NewObjectExpression "" is 
> not supported in results.
>   at 
> org.jpox.store.query.ResultExpressionsQueryable.newResultObjectFactory(ResultExpressionsQueryable.java:251)
>   at org.jpox.store.query.JDOQLQuery.performExecute(JDOQLQuery.java:642)
>   at org.jpox.store.query.Query.executeWithMap(Query.java:966)
>   at org.jpox.store.query.Query.executeWithArray(Query.java:939)
>   at org.jpox.store.query.Query.execute(Query.java:862)
>   at org.apache.jdo.tck.query.QueryTest.execute(QueryTest.java:1151)
>   at org.apache.jdo.tck.query.QueryTest.execute(QueryTest.java:1029)
>   at 
> org.apache.jdo.tck.query.QueryTest.executeAPIQuery(QueryTest.java:966)
>   at 
> org.apache.jdo.tck.query.QueryTest.executeAPIQuery(QueryTest.java:946)
>   at 
> org.apache.jdo.tck.query.result.ResultClassRequirements.executeQuery(ResultClassRequirements.java:464)
>   at 
> org.apache.jdo.tck.query.result.ResultClassRequirements.testConstructor(ResultClassRequirements.java:436)
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>   at java.lang.reflect.Method.invoke(Method.java:324)
>   at junit.framework.TestCase.runTest(TestCase.java:154)
>   at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:204)
>   at junit.framework.TestResult$1.protect(TestResult.java:106)
>   at junit.framework.TestResult.runProtected(TestResult.java:124)
>   at junit.framework.TestResult.run(TestResult.java:109)
>   at junit.framework.TestCase.run(TestCase.java:118)
>   at junit.framework.TestSuite.runTest(TestSuite.java:208)
>   at junit.framework.TestSuite.run(TestSuite.java:203)
>   at junit.framework.TestSuite.runTest(TestSuite.java:208)
>   at junit.framework.TestSuite.run(TestSuite.java:203)
>   at junit.textui.TestRunner.doRun(TestRunner.java:116)
>   at junit.textui.TestRunner.doRun(TestRunner.java:109)
>   at 
> org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:120)
>   at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:95)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Resolved: (JDO-249) JPOX throws JDOFatalInternalException for queries using "new MyClass(...)" in result clauses

2006-01-08 Thread Andy Jefferson (JIRA)
 [ http://issues.apache.org/jira/browse/JDO-249?page=all ]
 
Andy Jefferson resolved JDO-249:


Resolution: Fixed

Gone to meet its maker. Fixed in JPOX CVS - builds dated 09/01/2006 or later 
should have this.

> JPOX throws JDOFatalInternalException for queries using "new MyClass(...)" in 
> result clauses
> 
>
>  Key: JDO-249
>  URL: http://issues.apache.org/jira/browse/JDO-249
>  Project: JDO
> Type: Bug
>   Components: tck20
> Reporter: Michael Watzek
> Assignee: Andy Jefferson

>
> Test case ResultClassRequirements fails for the query below. The query has a 
> constructor call in the result clause.
> 14:23:07,781 (main) DEBUG [org.apache.jdo.tck] - Executing API query: SELECT 
> new LongString(personid, lastname) FROM 
> org.apache.jdo.tck.pc.company.FullTimeEmployee IMPORTS import 
> org.apache.jdo.tck.query.result.classes.LongString; 
> 14:23:07,781 (main) INFO  [org.apache.jdo.tck] - Exception during setUp or 
> runtest: 
> javax.jdo.JDOFatalInternalException: The expression NewObjectExpression "" is 
> not supported in results.
>   at 
> org.jpox.store.query.ResultExpressionsQueryable.newResultObjectFactory(ResultExpressionsQueryable.java:251)
>   at org.jpox.store.query.JDOQLQuery.performExecute(JDOQLQuery.java:642)
>   at org.jpox.store.query.Query.executeWithMap(Query.java:966)
>   at org.jpox.store.query.Query.executeWithArray(Query.java:939)
>   at org.jpox.store.query.Query.execute(Query.java:862)
>   at org.apache.jdo.tck.query.QueryTest.execute(QueryTest.java:1151)
>   at org.apache.jdo.tck.query.QueryTest.execute(QueryTest.java:1029)
>   at 
> org.apache.jdo.tck.query.QueryTest.executeAPIQuery(QueryTest.java:966)
>   at 
> org.apache.jdo.tck.query.QueryTest.executeAPIQuery(QueryTest.java:946)
>   at 
> org.apache.jdo.tck.query.result.ResultClassRequirements.executeQuery(ResultClassRequirements.java:464)
>   at 
> org.apache.jdo.tck.query.result.ResultClassRequirements.testConstructor(ResultClassRequirements.java:436)
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>   at java.lang.reflect.Method.invoke(Method.java:324)
>   at junit.framework.TestCase.runTest(TestCase.java:154)
>   at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:204)
>   at junit.framework.TestResult$1.protect(TestResult.java:106)
>   at junit.framework.TestResult.runProtected(TestResult.java:124)
>   at junit.framework.TestResult.run(TestResult.java:109)
>   at junit.framework.TestCase.run(TestCase.java:118)
>   at junit.framework.TestSuite.runTest(TestSuite.java:208)
>   at junit.framework.TestSuite.run(TestSuite.java:203)
>   at junit.framework.TestSuite.runTest(TestSuite.java:208)
>   at junit.framework.TestSuite.run(TestSuite.java:203)
>   at junit.textui.TestRunner.doRun(TestRunner.java:116)
>   at junit.textui.TestRunner.doRun(TestRunner.java:109)
>   at 
> org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:120)
>   at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:95)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



Re: JDOQL super keyword

2006-01-08 Thread Michael Bouschen

Hi Erik,

do you think we need to support super in JDOQL? You only need it if the 
cancdidate class hides a supeclass field and if S is the superclass you 
can write 'super.field' as '((S)this).field'.


Regards Michael


Craig,

In JDOQL BNF, it's not a valid field accessor. The same for ClassName.super

Current
---
FieldAccess:
FieldName
Primary . FieldName

Regards,

Erik Bengtson

Quoting Craig L Russell <[EMAIL PROTECTED]>:

 


Hi Erik,

It is not in the spec because it's already a Java keyword. Please see
14.4:

Keywords
Keywords must not be used as package names, class names, parameter
names, or variable names in queries. Keywords are permitted as field
names only if they are on the right side of the “.” in field access
expressions as defined in the Java Language Specification second
edition, section 15.11. Keywords include the Java language keywords
and the JDOQL keywords. Java keywords are as defined in the Java
language specification section 3.9, plus the boolean literals true
and false, and the null literal. JDOQL keywords maybe written in all
lower case or all upper case.

What specifically are you interested in knowing?

Regards,

Craig

On Jan 7, 2006, at 3:57 PM, [EMAIL PROTECTED] wrote:

   


Hi,

Is it intentionally not in the spec?

Regards,

Erik Bengtson
 


Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:[EMAIL PROTECTED]
P.S. A good JDO? O, Gasp!


   




 




--
Michael Bouschen[EMAIL PROTECTED] Engineering GmbH
mailto:[EMAIL PROTECTED]http://www.tech.spree.de/
Tel.:++49/30/235 520-33 Buelowstr. 66   
Fax.:++49/30/2175 2012  D-10783 Berlin  



Issue 153: JDOQL super keyword

2006-01-08 Thread Craig L Russell
Javadogs,I've recorded this as Issue 153. I propose to defer this to a future release.Currently super is not a JDOQL keyword, so there is no way to exactly duplicate the semantics of Java super. In Java, super is used to access a field (or method, but methods are not relevant for JDOQL) that is hidden by a subclass field of the same name. The main use of this in JDOQL would be to access a hidden field where the declaring class is not known. If the declaring class is known, then the field can be accessed by casting “this” to the declaring class in a field navigation _expression_, e.g. ((MySuperclass)this).hiddenFieldCraigOn Jan 8, 2006, at 1:15 PM, Michael Bouschen wrote:Hi Erik,do you think we need to support super in JDOQL? You only need it if the cancdidate class hides a supeclass field and if S is the superclass you can write 'super.field' as '((S)this).field'.Regards Michael Craig,In JDOQL BNF, it's not a valid field accessor. The same for ClassName.superCurrent---FieldAccess:FieldNamePrimary . FieldNameRegards,Erik BengtsonQuoting Craig L Russell <[EMAIL PROTECTED]>:  Hi Erik,It is not in the spec because it's already a Java keyword. Please see14.4:KeywordsKeywords must not be used as package names, class names, parameternames, or variable names in queries. Keywords are permitted as fieldnames only if they are on the right side of the “.” in field accessexpressions as defined in the Java Language Specification secondedition, section 15.11. Keywords include the Java language keywordsand the JDOQL keywords. Java keywords are as defined in the Javalanguage specification section 3.9, plus the boolean literals trueand false, and the null literal. JDOQL keywords maybe written in alllower case or all upper case.What specifically are you interested in knowing?Regards,CraigOn Jan 7, 2006, at 3:57 PM, [EMAIL PROTECTED] wrote:    Hi,Is it intentionally not in the spec?Regards,Erik Bengtson      Craig RussellArchitect, Sun Java Enterprise System http://java.sun.com/products/jdo408 276-5638 mailto:[EMAIL PROTECTED]P.S. A good JDO? O, Gasp!      -- Michael Bouschen		[EMAIL PROTECTED] Engineering GmbHmailto:[EMAIL PROTECTED]	http://www.tech.spree.de/Tel.:++49/30/235 520-33		Buelowstr. 66			Fax.:++49/30/2175 2012		D-10783 Berlin			  Craig Russell Architect, Sun Java Enterprise System http://java.sun.com/products/jdo 408 276-5638 mailto:[EMAIL PROTECTED] P.S. A good JDO? O, Gasp!  

smime.p7s
Description: S/MIME cryptographic signature


[jira] Commented: (JDO-263) TestArrayCollections: Field ArrayOfBigDecimal12 is stored incorrectly

2006-01-08 Thread Craig Russell (JIRA)
[ 
http://issues.apache.org/jira/browse/JDO-263?page=comments#action_12362141 ] 

Craig Russell commented on JDO-263:
---

It didn't appear that we were getting much traction on this issue so Michelle 
and I played JPOX developer for a day. Nice to hear our investigation was 
appreciated.

I think that for field types of byte[ ] it makes most sense to send it "as is" 
to the datastore. For all the other types it is probably best to use Java 
serialization instead of a proprietary serialization. This is most portable 
across JDO implementations (most won't use exactly the JPOX algorithm for 
serializing).

But I also agree that some users might want the more efficient JPOX 
serialization algorithm compared to Java serialization. So your feature request 
for JPOX still makes sense to me. And I agree with your solution "to use the 
serialisation method when the field is marked as serialised, and byte streams 
otherwise".


> TestArrayCollections: Field ArrayOfBigDecimal12 is stored incorrectly
> -
>
>  Key: JDO-263
>  URL: http://issues.apache.org/jira/browse/JDO-263
>  Project: JDO
> Type: Bug
>   Components: tck20
> Reporter: Michelle Caisse
> Assignee: Andy Jefferson
>  Attachments: jdo-263.patch
>
> test(org.apache.jdo.tck.models.fieldtypes.TestArrayCollections)javax.jdo.JDOUserException:
>  Field "org.apache.jdo.tck.pc.fieldtypes.ArrayCollections.ArrayOfObject1" is 
> declared as a reference type (interface/Object) but no implementation classes 
> of "java.lang.Object" have been found!
>   at 
> org.jpox.metadata.MetaDataUtils.getImplementationNamesForReferenceField(MetaDataUtils.java:594)
>   at 
> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForReferenceField(ColumnCreator.java:184)
>   at 
> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForField(ColumnCreator.java:296)
>   at 
> org.jpox.store.rdbms.table.ColumnCreator.createColumns(ColumnCreator.java:95)
>   at org.jpox.store.rdbms.table.ArrayTable.initialize(ArrayTable.java:83)
>   at 
> org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesAndValidate(RDBMSManager.java:2404)
>   at 
> org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManager.java:2033)
>   at 
> org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RDBMSManager.java:1893)
>   at org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.java:479)
>   at org.jpox.store.rdbms.RDBMSManager.addClass(RDBMSManager.java:493)
>   at 
> org.jpox.store.rdbms.RDBMSManager.getDatastoreClass(RDBMSManager.java:766)
>   at 
> org.jpox.state.StateManagerImpl.populateStrategyFields(StateManagerImpl.java:781)
>   at org.jpox.state.StateManagerImpl.(StateManagerImpl.java:584)
>   at 
> org.jpox.AbstractPersistenceManager.internalMakePersistent(AbstractPersistenceManager.java:1076)
>   at 
> org.jpox.AbstractPersistenceManager.makePersistent(AbstractPersistenceManager.java:1131)
>   at 
> org.apache.jdo.tck.models.fieldtypes.TestArrayCollections.runTest(TestArrayCollections.java:93)
>   at 
> org.apache.jdo.tck.models.fieldtypes.TestArrayCollections.test(TestArrayCollections.java:69)
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>   at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:204)
>   at 
> org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:120)
>   at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:95)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira