ipGetSupport
- Last Updated: May 12, 2026
- 3 minute read
- OpenAccess SDK
- Version 8.1
- Documentation
This method is used by the OpenAccess SDK SQL engine to query the IP about its support for the types of SQL operations allowed, the mode in which the IP is working, whether DCL is supported, and other features. The information reported by this method defines the mode in which the OpenAccess SDK SQL engine operates and how it interacts with the IP. ipGetSupport is called after ipConnect and may be called multiple times between other IP method calls.
int ipGetSupport(int iSupportType)
Parameters for ipGetSupport
| Parameter | Type | Description |
| INPUT | ||
| iSupportType | int | The type of support queried. See Table 7 for more information. |
| RETURN | ||
| int | 1 - the requested option is enabled. 0 - the requested option is not supported. |
|
The value for the IP_SUPPORT_OP_XX is the logical OR of the setting returned by this method and the setting in the OA_SUPPORT column of the OA_COLUMNS table for the specified column.
The value for the IP_SUPPORT_SELECT, IP_SUPPORT_INSERT, IP_SUPPORT_UPDATE, IP_SUPPORT_DELETE and IP_SUPPORT_SELECT_FOR_UPDATE is the logical OR of the setting returned by this method and the setting in the OA_SUPPORT column of the OA_TABLES table for the specified table name.
IP support options
| Support Option | Description |
| IP_SUPPORT_SELECT | The IP supports select. |
| IP_SUPPORT_INSERT | The IP supports insert. |
| IP_SUPPORT_UPDATE | The IP supports update. |
| IP_SUPPORT_DELETE | The IP supports delete. |
| IP_SUPPORT_SELECT_FOR_UPDATE | The IP supports select for update. |
| IP_SUPPORT_START_QUERY | The IP is to be notified of starting of query execution on the same table through multiple queries. |
| IP_SUPPORT_END_QUERY | The IP is to be notified of ending of query execution on the same table through multiple queries. |
| IP_SUPPORT_SCHEMA | The IP implements dynamic schema. |
| IP_SUPPORT_UNION_CONDLIST | The IP is to receive the condition lists as a union condition list. |
| IP_SUPPORT_PRIVILEGES | The IP implements a privilege function. |
| IP_SUPPORT_UNICODE_INFO | The IP is to use Unicode strings for owner name, owner term, qualifier, an qualifier term. |
| IP_SUPPORT_PASSTHROUGH_QUERY | The IP will work in pass through mode where it is responsible for executing the query. |
| IP_SUPPORT_TABLE_FUNCTIONS | The IP supports table functions. |
| IP_SUPPORT_NATIVE_COMMAND | The IP implements an ipNative function method that should be called when the parser is unable to recognize the query. |
| IP_SUPPORT_BLOCK_JOIN | The IP has implemented block join optimization. |
| IP_SUPPORT_JOIN_ORDER_ SELECTION | The IP supports the join order selection. |
| IP_SUPPORT_QUERY_MODE_ SELECTION | The IP determines at EXECUTE call whether it needs to work in pass-through query mode or in row-based mode. |
| IP_SUPPORT_VALIDATE_ SCHEMAOBJECTS_IN_USE | This option applies only when working in dynamic schema mode. Call the IP to return column information only for the columns referenced in the query. The SCHEMA function must be implemented to check for the filter condition on the column name. |
| Operator Support | |
| IP_SUPPORT_OP_EQUAL | The IP can handle = conditions. |
| IP_SUPPORT_OP_NOT | The IP can handle NOT conditions. |
| IP_SUPPORT_OP_GREATER | The IP can handle > conditions. |
| IP_SUPPORT_OP_SMALLER | The IP can handle < conditions. |
| IP_SUPPORT_OP_BETWEEN | The IP can handle BETWEEN conditions. |
| IP_SUPPORT_OP_LIKE | The IP can handle LIKE conditions. |
| IP_SUPPORT_OP_NULL | The IP can handle IS NULL conditions. |
| DDL | SQL Data Definition Language support |
| IP_SUPPORT_CREATE_TABLE | The IP supports table creation. |
| IP_SUPPORT_DROP_TABLE | The IP supports table deletion. |
| IP_SUPPORT_CREATE_INDEX | The IP supports index creation. |
| IP_SUPPORT_DROP_INDEX | The IP supports index deletion. |
| IP_SUPPORT_ALTER_TABLE | The IP supports altering existing tables. |
| Stored procedure | |
| IP_SUPPORT_PROCEDURE | The IP supports procedure execution. |
| Views | |
| IP_SUPPORT_CREATE_VIEW | The IP supports view creation. |
| IP_SUPPORT_DROP_VIEW | The IP supports view deletion. |
| IP_SUPPORT_QUERY_VIEW | The IP supports querying views. |
| SQL Data Control Language support (DCL) | |
| IP_SUPPORT_CREATE_USER | The IP supports the CREATE USER DCL command. |
| IP_SUPPORT_DROP_USER | The IP supports the DROP USER DCL command. |
| IP_SUPPORT_CREATE_ROLE | The IP supports the CREATE ROLE DCL command. |
| IP_SUPPORT_DROP_ROLE | The IP supports the DROP ROLE DCL command. |
| IP_SUPPORT_GRANT | The IP supports the GRANT DCL command. |
| IP_SUPPORT_REVOKE | The IP supports the REVOKE DCL command. |
The value for the IP_SUPPORT_OP_XX is the logical OR of the setting returned by this function and the setting in the OA_SUPPORT column of the OA_COLUMNS table for the specified column.
The value for the IP_SUPPORT_SELECT, IP_SUPPORT_INSERT, IP_SUPPORT_UPDATE, IP_SUPPORT_DELETE and IP_SUPPORT_SELECT_FOR_UPDATE is the logical OR of the setting returned by this function and the setting in the OA_SUPPORT column of the OA_TABLES table for the specified table name.
One way to implement this feature, and the template uses this approach, is to set up an array as shown in this example, and to use the iSupportType as an index into it.
Example
IP_SUPPORT_ARRAY mem_support_array =
{0,
1, /* IP_SUPPORT_SELECT */
0, /* IP_SUPPORT_INSERT */
0, /* IP_SUPPORT_UPDATE */
0, /* IP_SUPPORT_DELETE */
0, /* IP_SUPPORT_SCHEMA - IP supports Schema methods */
0, /* IP_SUPPORT_PRIVILEGES - IP can validate user privileges */
1, /* IP_SUPPORT_OP_EQUAL */
0, /* IP_SUPPORT_OP_NOT */
0, /* IP_SUPPORT_OP_GREATER */
0, /* IP_SUPPORT_OP_SMALLER */
0, /* IP_SUPPORT_OP_BETWEEN */
0, /* IP_SUPPORT_OP_LIKE */
0, /* IP_SUPPORT_OP_NULL */
0, /* IP_SUPPORT_SELECT_FOR_UPDATE */
...
};