Share via


Catalog of DML Nodes

Note

Indexing Service is no longer supported as of Windows XP and is unavailable for use as of Windows 8. Instead, use Windows Search for client side search and Microsoft Search Server Express for server side search.

 

This section summarizes all data manipulation language (DML) command nodes. For each node, the section describes the information stored within the node, its required and optional input types, and the types of the output produced by the node. This information represents a first step in defining the correct way to build OLE DB command trees.

The supported output types and minor types are listed in the form

output-type:minor-type

The minor type is not listed if it is not required by the operator. The following table lists the output-types and minor-types.

Output Type output-type minor-type Description
Table¹
T
O
U
OU
H
Ordered
Unique
Ordered unique
Hierarchical
Row
R


Scalar
S
AF
BMK
COL
CON
DEF
EXP
NUL
PAR
SF
Aggregate function
Bookmark
Column
Constant
Default
Expression
NULL
Parameter
Scalar function
Boolean
B


List anchor
LA_CD
LA_COL
LA_CMD
LA_FRM
LA_IDX
LA_PRJ
LA_PRP
LA_ROW
LA_SC
LA_SET
LA_SRT

Column definition list anchor
Column list anchor
Command list anchor
From list anchor
Index list anchor
Project list anchor
Property list anchor
Row list anchor
Scalar list anchor
Set list anchor
Sort list anchor
List element
LE_CD
LE_COL
LE_CMD
LE_FRM
LE_IDX
LE_PRJ
LE_PRP
LE_ROW
LE_SC
LE_SET
LE_SRT

Column definition list element
Column list element
Command list element
From list element
Index list element
Project list element
Property list element
Row list element
Scalar list element
Set list element
Sort list element
Catalog name
CN


Schema name
SN


Outall name
ON


Update operator
U
U
D
I
Update operator
Delete operator
Insert operator
Any legal output type
Any


1 UT, OT, and OUT imply T, but T does not imply UT, OT, and OUT. UT, OT, and OUT are specializations of T. UT and OT do not imply each other. OUT implies UT and OT.

 

The following table contains a list of all supported DML nodes and their characteristics.

Node DBVALUEKIND R O Input Types Output Types
alias
pwszValue
1
1
1st: T
2nd: LA_COL
T
allbits
see anybits
allbits_all
see anybits
allbits_any
see anybits
and, or, xor, equivalent
Node weight is stored as DBVALUEKIND_I4.
2
N
1st: B
2nd: B
B
anybits, allbits, anybits_any, allbits_any, anybits_all, allbits_all
Node weight is store as DBVALUEKIND_I4.
2
0
1st: S:COL
2nd: S
B
anybits_all
see anybits
anybits_any
see anybits
catalog_name
Catalog name as: DBID, pwszValue, pMoniker
0
0
CN
column_list_anchor
DBVALUEKIND_EMPTY
0
N
1st-nth: LE_COL
LA_COL
column_list_element
pwszValue
0
0
LE_COL
column_name
DBID, pwszValue, pMoniker, ulValue
0
0
S:COL
content, content_freetext
DBCONTENT
1
0
1st: S:COL
B
content_freetext
see content
content_proximity
DBCONTENTPROXIMITY
2
n
1st: content or content_freetext
2nd: content or content_freetext
nth: Boolean expression formed from and, or, not, content_proximity, and content.
B
content_vector
DBCONTENTVECTOR
2
n
1st: content or content_freetext
2nd: content or content_freetext
nth: Boolean expression formed from and, or, not, content_proximity, content, and content_freetext
B
DEFAULT, NULL
DBVALUEKIND_EMPTY
0
0
S:DEF, S:NUL
defined_by_GUID
DBBYGUID
*
*
* defined by implementation
*
equal, not_equal, less, less_equal, greater, greater_equal
Node weight is stored as DBVALUEKIND_I4.
2
0
B
equal_all, not_equal_all, less_all, less_equal_all, greater_all, greater_equal_all, equal_any, not_equal_any, less_any, less_equal_any, greater_any, greater_equal_any
Node weight is stored as DBVALUEKIND_I4.
2
0
1st: S or R
2nd: T
B
equal_any
see equal_all
greater
see equal
greater_all
see equal_all
greater_any
see equal_all
greater_equal
see equal
greater_equal_all
see equal_all
greater_equal_any
see equal_all
is_FALSE
see is_INVALID
is_INVALID, is_TRUE, is_FALSE
DBVALUEKIND_EMPTY
1
0
1st: S
B
is_NOT_NULL
see is_NULL
is_NULL, is_NOT_NULL
DBVALUEKIND_EMPTY
0
0
B
is_TRUE
see is_INVALID
less
see equal
less_all
see equal_all
less_any
see equal_all
less_equal
see equal
less_equal_all
see equal_all
less_equal_any
see equal_all
like
DBLIKE
2
0
1st: S
2nd: S
B
like_all
see like_any
like_any, like_all
DBVALUEKIND_EMPTY
2
0
1st: S
2nd: T
B
nested_table_name
Table name as: DBID, pwszValue, pMoniker
0
1
1st: nested_table_name or table_name
T:H
not
Node weight is stored as DBVALUEKIND_I4.
1
0
1st: B
B
not_equal
see equal
not_equal_all
see equal_all
not_equal_any
see equal_all
NULL
see DEFAULT
or
see and
outall_name
DBVALUEKIND_EMPTY
0
0
ON
pass_through
DBVALUEKIND_EMPTY
1
0
1st: any tree input
Any
prior_command_tree
DBVALUEKIND_EMPTY
0
0
S or T
project
DBVALUEKIND_EMPTY
2
0
1st: T
2nd: LA_PRJ
T
project_list_anchor
DBVALUEKIND_EMPTY
0
N
1st-nth: LE_PRJ
LA_PRJ
project_list_element
pwszValue
1
0
1st: S, qualifier_name, or ON
LE_PRJ
project_order_preserving
DBVALUEKIND_EMPTY
2
0
1st: T or T:O
2nd: LA_PRJ
T or T:O
scalar_constant
any value
0
0
S:CON
select
DBVALUEKIND_EMPTY
2
0
1st: T
2nd: B
T
sort
DBVALUEKIND_EMPTY
2
0
1st: T.
2nd: LA_SRT
T:O
sort_list_anchor
DBVALUEKIND_EMPTY
0
N
1st-nth: LE_SRT
LA_SRT
table
DBVALUEKIND_EMPTY
1
0
1st: LAaROW
T
table_name
Table name as: DBID, pwszValue, pMoniker
0
1
1st: SN
T
top
ulValue member contains the count of rows
1
0
1st: T:O
T:O