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 | |||||