Design Spec

Inductor Query Specification:

Section Criteria Alt. Inductor Support Notes
JDO HIB EJB
Query
distinct() unique X X SQL distinct constraint
count() X X SQL count(*) constraint
from (Class-Spec) X X If used, must be specified before any select, where, orderBy, or groupBy. First class listed will be the Candidate class for the query results.
select (Field-Spec ) X X JDO: each Field is limited to a root Field and an optional aggregate HIB: only aggregates allowed
into (Class) X
where (Field-Spec) X X
orderBy (Order-Spec) X X JDO: JPOX limits to one ordering Field.
groupBy (Field [, Field, ...]) X JDO: JPOX not implemented yet.
having (Fields [, Fields, ...])
range (Number [,Number]) limit X X Parameters are (last) or (first, last)
execute() X X Returns a Collection containing the:
Candidate class, or
Into class, or
Arrays of the Select clause fields, or
Array holding a single value
Class-Spec
PC | FN [, PC | FN [, PC | FN]] Field[]
{PC | FN [, PC | FN, ...]}
X
X
X
X
X
X
PC = persistence-capable class and FN = field-name class
Order-Spec
Field[.Direction] [, Field[.Direction], ...]) X X X
Direction
ascending () asc X X X
descending () desc X X X
QBE-Spec
PC | FC X X X PC = persistence-capable class and FC = field-class
Field-Spec
Fields [, Fields [, Fields]] Fields[] X
X
X
X
X
X
Fields[]
Fields [, Fields [, Fields, ...]] X X X
Fields
Field[.Field. ...] X X X Serial declarative specification
Value-Spec
String | Number | Fields | Fields[] X X X
Field
isEqualTo (Value-Spec | Boolean) eq X X
isNotEqualTo (Value-Spec | Boolean) neq X X
isTrue() X X Inductor addition
isFalse() X X Inductor addition
isGreaterThan (Value-Spec) gt X X
isGreaterThanOrEqualTo (Value-Spec) gteq X X
isLessThan (Value-Spec) lt X X
isLessThanOrEqualTo (Value-Spec) lteq X X
isEmpty() X X JDO: defined as?
HIB: empty set
isNotEmpty() X HIB: non-empty set
isNull() X
isNotNull() X
length() JDO: use-case?
and ([Value-Spec]) X X
or ([Value-Spec]) X X
not ([Value-Spec]) X X
caseInsensitive() anycase X X case insensitive string comparisons
toLowerCase() lower X X standard SQL lower() function
toUpperCase() upper X X standard SQL upper() function
like (String | QBE-Spec) X X SQL-style wildcards supported; QBE on String, Number and Boolean fields of the QBE-Spec object
startsWith (String)
startsWith (String , Integer)
X
X
X
endsWith (String) X X
indexOf (String)
indexOf (String , Integer)
X
X
substring (Integer)
substring (Integer , Integer)
X
X
charAt (Integer) X
between (Value-Spec, Value-Spec) X X
in (String[] | Number[]) X X Support Field[]?
contains (QBE-Spec) X X Defines association relation
containsKey (String) X
containsValue (String) X
containsEntry (String, String) X
Aggregates
count () X X Count specific to a field
summation () sum X X
maximum () max X X
minimum () min X X
average () avg X X
absolute () abs
squareroot() sqrt