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 Craig L Russell <Cr...@Sun.COM> on 2005/11/05 01:36:17 UTC

Re: svn commit: r330804 - /incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/query/jdoql/variables/VariablesWithoutExtent.java

Javadogs,

Did we really intend for the single string version of JDOQL to  
include "IMPORTS import..."?

setFilter("SELECT e FROM EMPLOYEE e WHERE e.grade <  
HardClass.HIGHEST_GRADE");
declareImports("import org.apache.jdo.tck.SimpleClass; import  
org.apache.jdo.tck.HardClass";

pm.newQuery("SELECT e FROM EMPLOYEE e WHERE e.grade <  
HardClass.HIGHEST_GRADE IMPORTS import  
org.apache.jdo.tck.SimpleClass; import org.apache.jdo.tck.HardClass");

Craig

Chapter 14:

void declareImports (String imports);
A14.6-8 [Bind the import statements to the query instance.] All  
imports must be declared in the same method call, and the imports  
must be separated by semicolons.

The import statements follow the Java syntax for import statements.  
Import statements are separated by semicolons. Import on demand is  
supported.

Single-string Query element binding
A14.6.13-1 [The String version of Query represents all query elements  
using a single string. The string contains the following structure:]
select [unique] [ <result> ] [into <result-class-name>]
[from <candidate-class-name> [exclude subclasses] ]
[where <filter>]
[variables <variables-clause> ]
[parameters <parameters-clause>]
[imports <imports-clause>]
...

<imports-clause> is the imports declaration as in 14.6.4. As in Java,  
imports in the clause are separated by semicolons.

Chapter 24:

Imports:
      imports ImportList

Import Declaration
This section describes the syntax of the declareImports argument.
ImportList:
      ImportDecls ;opt
ImportDecls:
      ImportDecl
      ImportDecls ; ImportDecl
ImportDecl:
      import QualifiedIdentifier
      import QualifiedIdentifier . *
Please note, as a usability feature ImportList defines the trailing  
semicolon as optional (in addition to what the Java syntax allows in  
an import statement).

JDOQLKeyword: one of
...
     having      HAVING      imports     IMPORTS
...


On Nov 4, 2005, at 5:17 AM, brazil@apache.org wrote:

> Author: brazil
> Date: Fri Nov  4 05:17:29 2005
> New Revision: 330804
>
> URL: http://svn.apache.org/viewcvs?rev=330804&view=rev
> Log:
> Bug fix: Java keyword 'import' was specified in capitals.
>
> Modified:
>     incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/query/ 
> jdoql/variables/VariablesWithoutExtent.java
>
> Modified: incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/ 
> query/jdoql/variables/VariablesWithoutExtent.java
> URL: http://svn.apache.org/viewcvs/incubator/jdo/trunk/tck20/test/ 
> java/org/apache/jdo/tck/query/jdoql/variables/ 
> VariablesWithoutExtent.java?rev=330804&r1=330803&r2=330804&view=diff
> ====================================================================== 
> ========
> --- incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/query/ 
> jdoql/variables/VariablesWithoutExtent.java (original)
> +++ incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/query/ 
> jdoql/variables/VariablesWithoutExtent.java Fri Nov  4 05:17:29 2005
> @@ -58,7 +58,7 @@
>          /*WHERE*/       "this.personid = noExtent.id",
>          /*VARIABLES*/   "NoExtent noExtent",
>          /*PARAMETERS*/  null,
> -        /*IMPORTS*/     "IMPORT  
> org.apache.jdo.tck.pc.query.NoExtent;",
> +        /*IMPORTS*/     "import  
> org.apache.jdo.tck.pc.query.NoExtent;",
>          /*GROUP BY*/    null,
>          /*ORDER BY*/    null,
>          /*FROM*/        null,
>
>
>


Re: svn commit: r330804 - /incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/query/jdoql/variables/VariablesWithoutExtent.java

Posted by Michael Bouschen <mb...@spree.de>.
Hi Craig,

> Javadogs,
>
> Did we really intend for the single string version of JDOQL to  
> include "IMPORTS import..."?

I agree, the leading IMPORTS keyword seems to be redundant. We followed 
the rule that all the query elements are prefixed with a new keyword in 
the single string version (WHERE <filter>, VARIABLES <variables-clause>, 
etc.). For imports this is not really necessary, because each import 
statement starts with a keyword import already. So we can safely skip 
the leading IMPORTS.

Regards Michael

>
> setFilter("SELECT e FROM EMPLOYEE e WHERE e.grade <  
> HardClass.HIGHEST_GRADE");
> declareImports("import org.apache.jdo.tck.SimpleClass; import  
> org.apache.jdo.tck.HardClass";
>
> pm.newQuery("SELECT e FROM EMPLOYEE e WHERE e.grade <  
> HardClass.HIGHEST_GRADE IMPORTS import  
> org.apache.jdo.tck.SimpleClass; import org.apache.jdo.tck.HardClass");
>
> Craig
>
> Chapter 14:
>
> void declareImports (String imports);
> A14.6-8 [Bind the import statements to the query instance.] All  
> imports must be declared in the same method call, and the imports  
> must be separated by semicolons.
>
> The import statements follow the Java syntax for import statements.  
> Import statements are separated by semicolons. Import on demand is  
> supported.
>
> Single-string Query element binding
> A14.6.13-1 [The String version of Query represents all query elements  
> using a single string. The string contains the following structure:]
> select [unique] [ <result> ] [into <result-class-name>]
> [from <candidate-class-name> [exclude subclasses] ]
> [where <filter>]
> [variables <variables-clause> ]
> [parameters <parameters-clause>]
> [imports <imports-clause>]
> ...
>
> <imports-clause> is the imports declaration as in 14.6.4. As in Java,  
> imports in the clause are separated by semicolons.
>
> Chapter 24:
>
> Imports:
>      imports ImportList
>
> Import Declaration
> This section describes the syntax of the declareImports argument.
> ImportList:
>      ImportDecls ;opt
> ImportDecls:
>      ImportDecl
>      ImportDecls ; ImportDecl
> ImportDecl:
>      import QualifiedIdentifier
>      import QualifiedIdentifier . *
> Please note, as a usability feature ImportList defines the trailing  
> semicolon as optional (in addition to what the Java syntax allows in  
> an import statement).
>
> JDOQLKeyword: one of
> ...
>     having      HAVING      imports     IMPORTS
> ...
>
>
> On Nov 4, 2005, at 5:17 AM, brazil@apache.org wrote:
>
>> Author: brazil
>> Date: Fri Nov  4 05:17:29 2005
>> New Revision: 330804
>>
>> URL: http://svn.apache.org/viewcvs?rev=330804&view=rev
>> Log:
>> Bug fix: Java keyword 'import' was specified in capitals.
>>
>> Modified:
>>     incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/query/ 
>> jdoql/variables/VariablesWithoutExtent.java
>>
>> Modified: incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/ 
>> query/jdoql/variables/VariablesWithoutExtent.java
>> URL: http://svn.apache.org/viewcvs/incubator/jdo/trunk/tck20/test/ 
>> java/org/apache/jdo/tck/query/jdoql/variables/ 
>> VariablesWithoutExtent.java?rev=330804&r1=330803&r2=330804&view=diff
>> ====================================================================== 
>> ========
>> --- incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/query/ 
>> jdoql/variables/VariablesWithoutExtent.java (original)
>> +++ incubator/jdo/trunk/tck20/test/java/org/apache/jdo/tck/query/ 
>> jdoql/variables/VariablesWithoutExtent.java Fri Nov  4 05:17:29 2005
>> @@ -58,7 +58,7 @@
>>          /*WHERE*/       "this.personid = noExtent.id",
>>          /*VARIABLES*/   "NoExtent noExtent",
>>          /*PARAMETERS*/  null,
>> -        /*IMPORTS*/     "IMPORT  
>> org.apache.jdo.tck.pc.query.NoExtent;",
>> +        /*IMPORTS*/     "import  
>> org.apache.jdo.tck.pc.query.NoExtent;",
>>          /*GROUP BY*/    null,
>>          /*ORDER BY*/    null,
>>          /*FROM*/        null,
>>
>>
>>


-- 
Michael Bouschen		Tech@Spree Engineering GmbH
mailto:mbo.tech@spree.de	http://www.tech.spree.de/
Tel.:++49/30/235 520-33		Buelowstr. 66			
Fax.:++49/30/2175 2012		D-10783 Berlin