dmaClass_QueryRoot

The root of a tree of Query Node objects that represents the main query or a subquery of a query expression.

Class ID: dmaClass_QueryRoot
Superclass: Query Node

Interfaces

IUnknown
IdmaObject
IdmaProperties
IdmaEditProperties

Properties

Name

Impl. Required

System Gen'ed

Read-Only

Value Required

Type

Cardinality

Required Class

OIID

-

Yes

Yes

-

String

Scalar

Class Description

Yes

Yes

Yes

Yes

Object

Scalar

Class Description

This

-

Yes

Yes

Yes

Object

Scalar

Query Root

Create Pending

-

Yes

Yes

Yes

Boolean

Scalar

Update Pending

-

Yes

Yes

Yes

Boolean

Scalar

Delete Pending

-

Yes

Yes

Yes

Boolean

Scalar

From Expression

Yes

-

-

Yes

Object

Scalar

Selections

Yes

-

-

-

Object

List

Query Expression

Yes

-

-

-

Object

Scalar

Query Node

Orderings

Yes

-

-

-

Object

List

Distinct Rows Requested

-

-

-

-

Boolean

Scalar

Property Descriptions

• OIID {dmaProp_OIID}
Property Inherited from DMA

• Class Description {dmaProp_ClassDescription}
Property Inherited from DMA

• This {dmaProp_This}
Property Inherited from DMA

• Create Pending {dmaProp_CreatePending}
Property Inherited from DMA

• Update Pending {dmaProp_UpdatePending}
Property Inherited from DMA

• Delete Pending {dmaProp_DeletePending}
Property Inherited from DMA

• From Expression {dmaProp_FromExpression}

The searchable classes that are joined together are listed in the From Expression object, along with the type of join, and the columns being joined.

The value for this property must be of class dmaClass_SearchableClass or dmaClass_QueryJoinOperator.

• Selections {dmaProp_Selections}

This object valued property is a list of objects of class dmaClass_QueryNode. On 1.0, all the list elements must be of class dmaClass_QueryProperty.

The select list may not be null for the main query. It must be null for subqueries under the EXISTS operator. The select list must be non-null for subqueries under the IN operators, and, it must contain exactly one element of class dmaClass_QueryProperty, which is a base datatype property of a persistent object.

Defined Datatypes

• Query Expression {dmaProp_QueryExpression}

The value of this property is the query root of the main query expression. This is analogous to the "where" clause in a SQL "select" statement.

If the query expression is NULL, no filtering is done, and all persistent objects as determined by the From Expression are returned as result rows.

• Orderings {dmaProp_Orderings}

This property is a list of objects of class dmaClass_QueryOrderByNode. On 1.0, for each list element, the property must occur in the dmaProp_Selections list. Each list element specifies a property to order the result rows on, and whether the order is ascending or descending. The ordering is first on list element 0, then within that on list element 1, etc.

• Distinct Rows Requested {dmaProp_DistinctRowsRequested}

If this Boolean property is true, then all result rows returned have a unique set of values for the properties designated in the Property Selections list.

In other words, duplicate result rows are suppressed, and only properties in the Property Selections list are considered in the comparison. Equality is determined using the well known “equal” operator defined by DMA that is appropriate to the datatype and cardinality of the Property Selections list elements. Note that enumeration objects are always considered distinct. Two null values are considered as equal for the purpose of determining distinctness.