Parameter
|
Type
|
Description
|
INPUT
|
||
dam_hdbc
|
long
|
The OpenAccess SDK SQL engine connection handle.
|
pMemTree
|
long
|
The memory tree to be used for all memory allocation.
|
iType
|
int
|
The type of schema information requested:
DAMOBJ_TYPE_TABLE - tables information as defined by OA_TABLES.
DAMOBJ_TYPE_COLUMN - columns information as defined by OA_COLUMNS.
DAMOBJ_TYPE_STAT - index information as defined by OA_STATISTICS.
DAMOBJ_TYPE_FKEY - foreign key information as defined by OA_FKEYS.
DAMOBJ_TYPE_PROC - procedures information as defined by OA_PROC.
DAMOBJ_TYPE_PROC_COLUMN - procedure columns information as defined by OA_PROCCOLUMNS.
|
pList
|
long
|
Requested object(s) are returned by placing them in this list using the dam_add_schemaobj calls. The IP can pass the pSearchObj filter to the dam_add_schemaobj method to have the OpenAccess SDK SQL engine filter the objects before adding to the list.
|
pSearchObj
|
object
|
Contains the information about search conditions for the requested object type. The IP and the OpenAccess SDK SQL engine use this information to filter out the information returned by the IP.
For example, if the OpenAccess SDK SQL engine needs only the columns for a specific table, it sets the table_name in the pSearchObj. The IP must use this information or pass the pSearchObj to the OpenAccess SDK SQL engine when calling the dam_add_schemaobj method. It is NULL if no search criteria is specified.
For instance, if the user issues the query:
SELECT * FROM oa_tables
then pSearchObj is null and the IP returns all the table objects. Access this data by typecasting this pointer based on the requested object type (iType) and then accessing the members of the object to retrieve the required information:
DAMOBJ_TYPE_CATALOG - schemaobj_table
DAMOBJ_TYPE_SCHEMA - schemaobj_table
DAMOBJ_TYPE_TABLETYPE - schemaobj_table
DAMOBJ_TYPE_TABLE - schemaobj_table
DAMOBJ_TYPE_COLUMN - schemaobj_column
DAMOBJ_TYPE_STAT - schemaobj_stat
DAMOBJ_TYPE_FKEY - schemaobj_fkey
DAMOBJ_TYPE_PKEY - schemaobj_pkey
DAMOBJ_TYPE_PROC - schemaobj_proc
DAMOBJ_TYPE_PROC_COLUMN - schemaobj_proccolumn
Similarly, if the OpenAccess SDK SQL engine only needs the schema for a specific table, it sets the schema name in the pSearchObj. The IP must use this information or pass the pSearchObj to the OpenAccess SDK SQL engine when calling dam_add_damobjW(). It is NULL if no search criteria is specified.
|
RETURN
|
||
int
|
DAM_SUCCESS - on success
DAM_FAILURE - on failure
|