Powered by Zoomin Software. For more details please contactZoomin

DataDirect OpenAccess SDK Help

dam_describeCondEx

  • Last Updated: May 12, 2026
  • 3 minute read
    • OpenAccess SDK
    • Version 9.0
    • Documentation

This function is used to retrieve the description of the condition. Use this function to retrieve the condition ( =, >, <, and so on) and the value of the operand ('TAG', 100, and so on). It returns details of either the left or right part of the condition based on the input iCondPart. The right part only applies in a BETWEEN condition. For other conditions, when the right part is requested, a value of 0 is returned for the Operator type. Each condition is described by the operator type, the value of the operand, and the data type of the operand value.

This function allocates temporary storage for conditions that are expressions and this is indicated by a non-Null value for phVal. Use dam_freeVal to free this storage after you have retrieved the data from ppData.

int dam_describeCondEx(
    DAM_HSTMT   hstmt, 
    DAM_HCOND   hcond, 
    int         iCondPart,
    int *       piOpType, 
    void **     ppData, 
    int *       piXoType,
    int *       piDataLen, 
    DAM_HVAL *  phVal)

Parameters for dam_describeCondEx

Parameter Type Description
IN
hstmt DAM_HSTMT The statement handle.
hcond DAM_HCOND The condition handle.
iCondPart int The condition part (left or right) for which details are being requested. Pass one of the following:DAM_COND_PART_LEFTDAM_COND_PART_RIGHT
OUT
piOpType int * The operator type. See Table Operator Types for Conditions for the operators and descriptions of the associated values. When details of a right part are requested for condition that does not have a right part, piOpTyp is set to 0.
ppData void ** A pointer to the data. The C type of the data corresponds to the piXoType value. This value is NULL for col=NULL condition. See Table SQL Engine Data Types and the Corresponding C Types.
piXoType int * The data type.
piDataLen int * The length of the data. XO_NULL_DATA indicates a NULL value.
phVal DAM_HVAL * A pointer to DAM_HVAL. Non-NULL handle is returned when OpenAccess SDK SQL engine creates temporary value for returning value of the expressions in the condition. IP should call dam_freeVal(*phVal) to release memory after using the condition value from ppData.
RETURN
Int DAM_SUCCESS - valid condition returned.
DAM_FAILURE - error getting a condition because the arguments to the call are invalid or the format of the data in the condition cannot be converted to the column type.

The table that follows shows the operator types for the piOpType parameter.

Refer to Default Optimization in OpenAccess SDK Programmer's Guide for examples on the operator values returned by this method to describe conditions such as VALUE>=xxx and VALUE BETWEEN xxx AND yyy.

Operator Types for Conditions

Operator Description
SQL_OP_SMALLER Column value should be smaller than. This bit is set if <, <=, or BETWEEN predicates are used in the SQL query.
SQL_OP_GREATER Column value should be greater than. This bit is set if >, >=, or BETWEEN predicates are used in the SQL query.
SQL_OP_LIKE Column value should be LIKE. The ppRightData contains a valid pointer to XO_TYPE_CHAR data if an ESCAPE clause was used with LIKE.
SQL_OP_ISNULL Column value should be NULL.
SQL_OP_EQUAL Column Value should be equal. This bit is set if <=, >=, or BETWEEN predicates are used in the SQL query.
SQL_OP_NOT This operator, which occurs in combination with either SQL_OP_NULL or SQL_OP_EQUAL, implies that the column value should not be NULL or the column value should not be EQUAL.

See also

TitleResults for “How to create a CRG?”Also Available inAlert