Constants, Identifiers, Names, and Parameters

[This is preliminary documentation and subject to change.]

Note that for the various name operators, unlike names in SQL statements, names in operators that contain special characters do not need to be quoted. If a name in an operator is quoted, these quotes will be considered literals and part of the name.

DBOP_scalar_constant
Represents a scalar constant whose value can use any element of the value unionof the DBCOMMANDTREE structure. A scalar value can be of any OLE DB type. This node has no inputs. The result type is the type of the scalar value represented by the node.
DBOP_DEFAULT, DBOP_NULL
SQL's "DEFAULT" and "NULL" value indicators. There are no inputs. The result type can be any type of scalar.
DBOP_bookmark_name
Represents the bookmark column of a table. For example, SELECT T.*, T.bookmark FROM T. It takes one optional input, a DBOP_table_name, to which the bookmark belongs. A string representing the name of the column can optionally be assigned in pwszValue.
DBOP_catalog_name, DBOP_column_name
Represents the name of a catalog and column, respectively. No inputs. A name may be specified by a pwszValue that is not a null pointer, DBID, or moniker in the node's value field. For column names, the column may be denoted as an unsigned integer value (e.g., SELECT A, B FROM T ORDER BY 2).
DBOP_schema_name
Represents the name of a schema. A name may be specified by a pwszValue that is not a null pointer, a DBID, or moniker in the node's value field. A schema name node has an optional input DBOP_catalog_name node.
DBOP_outall_name
Specifies that all input columns (e.g., SQL's "SELECT *") must be output. No inputs. It contains no other DBCOMMANDTREE value. DBOP_outall_name is used as an input to the DBOP_project_list_element node, but not to the set_list_element, sort_list_element, column_list_element or from_list_element nodes.
DBOP_qualifier_name
Specifies all columns in a table (e.g., SQL's "table.*"). No inputs. The table name is represented by a pwszValue that is not a null pointer. DBOP_qualifier_name is used as an input to the DBOP_project_list_element node, but not to the set_list_element, sort_list_element, column_list_element or from_list_element nodes.
DBOP_qualified_column_name
Represents a column name. It takes two inputs: a DBOP_table_name, and a DBOP_column_name, in that order. It contains no other DBCOMMANDTREE value.
DBOP_table_name
Represents a table name, possibly in another catalog or schema. A table name may be specified by a pwszValue that is not a null pointer, DBID, or moniker in the node's value field. This node takes an optional input: DBOP_schema_name.
DBOP_nested_table name
Represents a nested table name. A nested table is a table containing at least one chaptered column. The component of the nested name is stored as a pwszValue that is not a null pointer, DBID, or moniker in the node's value field. This node takes a DBOP_nested_table_name or a DBOP_table_name input. For example, the nested table Customers.Orders with chapter Detail is represented as follows:
DBOP_nested_table_name (pwsz = "Detail")
            |
    DBOP_nested_table_name (pwsz = "Orders" )
        |
DBOP_table_name (pwsz = "Customers")
 
DBOP_nested_column_name
Specifies a column in a nested table. This node takes one DBOP_nested_table_name and a DBOP_column_name as inputs, in that order.