Previous PageTop Of PageTable Of Contents


Appendix E . What's New in Version 3.5

E.1 Deprecated functions
E.2 Modified functions

E.3 New functions


E. What's New in Version 3.5

The Application Program Interface (API) found in DBMaker 3.5 is now ODBC 3.0 compatible. To be ODBC 3.0 compatible, some new functions have been added, some old functions have been deprecated, and other functions have been modified. As a result, some of the existing functions may behave differently than in previous versions of DBMaker, while the use of other functions is discouraged. For a full description of ODBC 3.0 functions and how to use them, refer to the Microsoft ODBC 3.0 Programmer's Refernce.

E.1 Deprecated functions

The following functions or function argument values have been deprecated in the DBMaker 3.5 API (ODBC 3.0). DBMaker currently retains these functions for purposes of backward compatibility, but does not guarantee that they will appear in future versions.

SQLExtendedFetch - the SQLExtendedFetch function has been replaced by SQLFetchScroll. You should use SQLFetchScroll instead of SQLExtendedFetch for this functionality in the future.

SQLSetPos - the SQL_ADD value of the fOption argument in the SQLSetPos function has been replaced by the SQL_ADD value of the Operation value in the SQLBulkOperations function. You should use SQLBulkOperations instead of SQLSetPos for this functionality in the future.

E.2 Modified functions

The following functions have been modified in the DBMaker 3.5 API (ODBC 3.0). The behavior of these functions will differ somewhat from DBMaker 3.01 and earlier APIs (ODBC 2.0). However, the behavior of these functions will remain unchanged if you are using client software from versions of DBMaker prior to version 3.5.

SQLCancel

The SQLCancel function is fully supported in the DBMaker 3.5 API (ODBC 3.0). In previous versions of DBMaker (ODBC 2.0), when there was no processing being done on a statement calling the SQLCancel function had the same effect as calling SQLFreeStmt with the SQL_CLOSE option. In DBMaker 3.5, when there is no processing being done on a statement calling the SQLCancel function has no effect. If you have a cursor open and want to close it, you should call SQLCloseCursor instead of SQLCancel.

SQLColumns

The SQLColumns function is fully supported in the DBMaker 3.5 API (ODBC 3.0). The SQLColumns function will now return 18 columns, regardless of whether the client is using the ODBC2.0 or 3.0 API. The following table lists the column names returned by this function for SQLColumns function for both DBMaker 3.5 and for previous versions of DBMaker.

DBMaker 3.5 (ODBC 3.0)

DBMaker 2.0x, 3.0x (ODBC 2.0)

TABLE_CAT

TABLE_QUALIFIER

TABLE_SCHEM

TABLE_OWNER

TABLE_NAME

TABLE_NAME

COLUMN_NAME

COLUMN_NAME

DATA_TYPE

DATA_TYPE

TYPE_NAME

TYPE_NAME

COLUMN_SIZE

PRECISION

BUFFER_LENGTH

LENGTH

DECIMAL_DIGITS

SCALE

NUM_PREC_RADIX

RADIX

NULLABLE

NULLABLE

REMARKS

-

COLUMN_DEF

-

SQL_DATA_TYPE

-

SQL_DATETIME_SUB

-

CHAR_OCTET_LENGTH

-

ORDINAL_POSITION

-

IS_NULLABLE

-

SQLFetch

The SQLFetch function is fully supported in the DBMaker 3.5 API (ODBC 3.0). In DBMaker 3.5, the SQLFetch function can now supports rowsets with multiple rows (earlier versions of DBMaker only supported single-row operations with the SQLFetch function).

SQLGetData

The SQLGetData function is fully supported in the DBMaker 3.5 API (ODBC 3.0). In DBMaker 3.5, the SQLGetData function can now support rowsets with multiple rows (earlier versions of DBMaker only supported single-row operations with the SQLGetData function).

SQLGetFunctions

The SQLGetFunctions function is fully supported in the DBMaker 3.5 API (ODBC 3.0). In DBMaker 3.5, you can call the SQLGetFunctions function with a value of SQL_API_ODBC3_ALL_FUNCTIONS or SQL_API_ALL_FUNCTIONS for the FunctionId parameter. SQL_API_ODBC3_ALL_FUNCTIONS is used by ODBC 3.0 applications to determine support of ODBC 3.0 or earlier functions, while SQL_API_ALL_FUNCTIONS is used by ODBC 2.0 applications to determine support of ODBC 2.0 or earlier functions.

If the value of FunctionId is SQL_API_ODBC3_ALL_FUNCTIONS, SupportedPtr points to a 4000-bit bitmap that can be used to determine whether an ODBC 3.0 or earlier function is supported. You can use SQL_API_ODBC3_ALL_FUNCTIONS against either an ODBC 3.0 or 2.0 driver. If the value of FunctionID is SQL_API_ALL_FUNCTIONS, then SupportedPtr returns an array of 100 elements that you can use to determine whether an ODBC 2.0 function is supported.

SQLGetInfo

The SQLGetInfo function is now fully supported in the DBMaker 3.5 API (ODBC 3.0).

E.3 New functions

The following functions are new in the DBMaker 3.5 API (ODBC3.0). This section lists all new functions in DBMaker 3.5, the supported options of each function, and whether the function is fully or partially supports the ODBC 3.0 standard.

SQLAllocHandle

The SQLAllocHandle function is fully supported in the DBMaker 3.5 API (ODBC 3.0). The SQLAllocHandle function is a generic function for allocating environment, connection, statement, or descriptor handles, and replaces the ODBC 2.0 functions SQLAllocConnect, SQLAllocEnv, and SQLAllocStmt. The function prototype for SQLAllocHandle is:

RETCODE SQLAllocHandle(
                       SQLSMALLINT  HandleType,
                       SQLHANDLE    InputHandle,
                       SQLHANDLE   *OutputHandlePtr
                      );

SQLBulkOperations

The SQLBulkOperations function is fully supported in the DBMaker 3.5 API (ODBC 3.0). The SQLBulkOperations function performs bulk insertions and bookmark operations, including update, delete, and fetch by bookmark operations. DBMaker 3.5 does not support the bookmark operations of SQLBulkOperations at this time. The function prototype for SQLBulkOperations is:

RETCODE SQLBulkOperations(
                          SQLHSTMT     StatementHandle,
                          SQLUSMALLINT Operation
                         );

The following table shows a list of options for the SQLBulkOperations function, and whether they are supported.

Operation

Supported?

SQL_ADD

Y

SQL_UPDATE_BY_BOOKMARK

N

SQL_DELETE_BY_BOOKMARK

N

SQL_FETCH_BY_BOOKMARK

N

SQLCloseCursor

The SQLCloseCursor function is fully supported in the DBMaker 3.5 API (ODBC 3.0). The SQLCloseCursor function closes a cursor that is open on a statement, and discards and pending results. The function prototype for SQLCloseCursor is:

RETCODE SQLCloseCursor(SQLHSTMT StatementHandle);

SQLColAttribute

The SQLColAttribute function is fully supported in the DBMaker 3.5 API (ODBC 3.0). The SQLColAttribute function returns information about a column in a result set, either as a character string, a 32-bit value, or an integer value. The function prototype for SQLColAttribute is:

RETCODE SQLColAttribute(
                        SQLHSTMT      StatementHandle,
                        SQLUSMALLINT  ColumnNumber,
                        SQLUSMALLINT  FieldIdentifier,
                        SQLPOINTER    CharacterAttributePtr,
                        SQLSMALLINT   BufferLength,
                        SQLSMALLINT  *StringLengthPtr,
                        SQLPOINTER    NumericAttributePtr
                       );

The following table lists the descriptor types returned by this function.

FieldIdentifier

Purpose

SQL_DESC_AUTO_UNIQUE_VALUE

Determines whether a column is a SERIAL column (SQL_TRUE) or not (SQL_FALSE).

SQL_DESC_BASE_COLUMN_NAME

The base column name.

SQL_DESC_BASE_TABLE_NAME

The base table name.

SQL_DESC_CASE_SENSITIVE

Determines whether collations and comparisons on a column are case-sensitive (SQL_TRUE) or not (SQL_FALSE).

SQL_DESC_CATALOG_NAME

The catalog of the table that contains the column.

SQL_DESC_CONCISE_TYPE

The concise data type for datetime and interval data types.

SQL_DESC_COUNT

The number of columns available in the result set.

SQL_DESC_DISPLAY_SIZE

The maximum number of characters required to display data from the column.

SQL_DESC_FIXED_PREC_SCALE

Determines whether the column has a fixed precision and non-zero scale (SQL_TRUE) or not (SQL_FALSE).

SQL_DESC_LABEL

The column label or title. If the column does not have a label, the column name is returned.

SQL_DESC_LENGTH

The maximum or actual character length of a character string or binary data type.

SQL_DESC_LITERAL_PREFIX

The characters that DBMaker recognizes as a prefix for a literal of the data type the column contains.

SQL_DESC_LITERAL_SUFFIX

The characters that DBMaker recognizes as a suffix for a literal of the data type the column contains.

SQL_DESC_LOCAL_TYPE_NAME

The localized (native language) name for the data type that may be different than the regular name.

SQL_DESC_NAME

The column alias. If the column does not have an alias, the column name is returned.

SQL_DESC_NULLABLE

Determines whether the column can contain NULL values (SQL_NULLABLE) or not (SQL_NO_NULLS). If it is not known whether the column can contain NULL values, the value SQL_NULLABLE_UNKNOWN is returned.

SQL_DESC_NUM_PREX_RADIX

Contains 2 if SQL_DESC_TYPE is an approximate numeric data type and SQL_DESC_PRECISION contains the number of bits, 10 if SQL_DESC_TYPE is an exact numeric data type and SQL_DESC_PRECISION contains the number of decimal digits, and 0 if SQL_DESC_TYPE contains a non-numeric data type.

SQL_DESC_OCTET_LENGTH

The length in bytes of a character string or binary data type.

SQL_DESC_PRECISION

The precision of a numeric data type.

SQL_DESC_SCALE

The scale of a numeric data type.

SQL_DESC_SCHEMA_NAME

The schema of the table that contains the column.

SQL_DESC_SEARCHABLE

Determines whether the column can be used with any comparison operator in a WHERE clause (SQL_PRED_SEARCHABLE), with all comparison operators except LIKE (SQL_PRED_BASIC), only with the LIKE predicate (SQL_PRED_CHAR), or if it cannot be used in a WHERE clause at all (SQL_PRED_NONE).

SQL_DESC_TABLE_NAME

The name of the table that contains the column.

SQL_DESC_TYPE

A numeric value that specifies the data type of the column.

SQL_DESC_TYPE_NAME

A string that specifies the name of the data type (data-source dependent).

SQL_DESC_UNNAMED

Determines whether the value in SQL_DESC_NAME is a column name/alias (SQL_DESC_NAMED) or not (SQL_DESC_UNNAMED).

SQL_DESC_UNSIGNED

Determines whether the column is unsigned (SQL_TRUE) or not (SQL_FALSE).

SQL_DESC_UPDATABLE

Describes the updatability of the column in the result set(not the column in the base table).

SQLCopyDesc

The SQLCopyDesc function is fully supported in the DBMaker 3.5 API (ODBC 3.0). The SQLCopyDesc function copies descriptor information from one descriptor handle to another. The function prototype for SQLCopyDesc is:

RETCODE SQLCopyDesc(
                    SQLHDESC SourceDescHandle,
                    SQLHDESC TargetDescHandle
                   );

SQLEndTran

The SQLEndTran function is fully supported in the DBMaker 3.5 API (ODBC 3.0). The SQLEndTran requests the DBMaker server perform a commit or rollback for all active operations on all statements associated with a connection, or for all connections associated with an environment. DBMaker supports the following values for the CompletionType argument: SQL_COMMIT and SQL_ROLLBACK. The function prototype for SQLEndTran is:

RETCODE SQLEndTran(
                   SQLSMALLINT HandleType,
                   SQLHANDLE   Handle,
                   SQLSMALLINT CompletionType
                  );

SQLFetchScroll

The SQLFetchScroll function is fully supported in the DBMaker 3.5 API (ODBC 3.0). The SQLFetchScroll function fetches a rowset of data (at a relative or absolute position, or by a bookmark) from the result set and returns all bound columns. DBMaker supports the following values for the FetchOrientation argument: SQL_FETCH_NEXT, SQL_FETCH_PRIOR, SQL_FETCH_FIRST, SQL_FETCH_LAST, SQL_FETCH_ABSOLUTE, and SQL_FETCH_RELATIVE. The function prototype for SQLFetchScroll is:

RETCODE SQLFetchScroll(
                       SQLHSTMT    StatementHandle,
                       SQLSMALLINT Handle,
                       SQLINTEGER  FetchOffset
                      );

SQLForeignKeys

The SQLForeignKeys function is fully supported in the DBMaker 3.5 API (ODBC 3.0). The SQLForeignKeys function returns a list of foreign keys in the specified table, or a list of foreign keys in other tables that reference the primary key in the specified table. The function prototype for SQLForeignKeys is:

RETCODE SQLForeignKeys(
                       SQLHSTMT     StatementHandle,
                       SQLCHAR     *PKCatalogName,
                       SQLSMALLINT  NameLength1,
                       SQLCHAR     *PKSchemaName,
                       SQLSMALLINT  NameLength2,
                       SQLCHAR     *PKTableName,
                       SQLSMALLINT  NameLength3,
                       SQLCHAR     *FKCatalogName,
                       SQLSMALLINT  NameLength4,
                       SQLCHAR     *FKSchemaName,
                       SQLSMALLINT  NameLength5,
                       SQLCHAR     *FKTableName,
                       SQLSMALLINT  NameLength6
                      );

SQLFreeHandle

The SQLFreeHandle function is fully supported in the DBMaker 3.5 API (ODBC 3.0). The SQLFreeHandle function frees resources associated with an environment, connection, statement, or descriptor handle that was previously allocated using the SQLAllocHandle function. The function prototype for SQLFreeHandle is:

RETCODE SQLFreeHandle(
                      SQLSMALLINT HandleType,
                      SQLHANDLE   Handle
                     );

SQLGetConnectAttr

The SQLGetConnectAttr function is partially supported in the DBMaker 3.5 API (ODBC 3.0). The SQLSetConnectAttr function gets attributes for a database connection. This function replaces the SQLGetConnectOption function in ODBC 2.0. The function prototype for SQLGetConnectAttr is:

RETCODE SQLGetConnectAttr(
                          SQLHDBC     ConnectionHandle,
                          SQLINTEGER  Attribute,
                          SQLPOINTER  ValuePtr,
                          SQLINTEGER  BufferLength,
                          SQLINTEGER *StringLengthPtr
                         );

The following table lists the attributes that can be retrieved using this function, and whether they are supported in DBMaker 3.5.

Attribute

Supported?

SQL_ATTR_AUTOCOMMIT

Y

SQL_ATTR_LOGIN_TIMEOUT

Y

SQL_ATTR_TXN_ISOLATION

Y

SQL_ATTR_AUTO_IPD

Y

SQL_ATTR_ACCESS_MODE

Y

SQL_ATTR_CURRENT_CATALOG

Y

SQL_ATTR_ASYNC_ENABLE

Y

SQL_ATTR_CONNECTION_TIMEOUT

Y

SQL_ATTR_MAX_ROWS

Y

SQL_ATTR_METADATA_ID

Y

SQL_ATTR_QUERY_TIMEOUT

Y

SQLGetDescField

The SQLGetD escField function is fully supported in the DBMaker 3.5 API (ODBC 3.0). The SQLGetDescField function gets the value of a single field of a descriptor record. The function prototype for SQLGetDescField is:

RETCODE SQLGetDescField(
                        SQLHDESC     DescriptorHandle,
                        SQLSMALLINT  RecNumber,
                        SQLSMALLINT  FieldIdentifier,
                        SQLPOINTER   ValuePtr,
                        SQLINTEGER   BufferLength,
                        SQLINTEGER  *StringLengthPtr
                       );

The following table lists the descriptor fields that can be retrieved using this function in DBMaker 3.5. In the table, the G represents Get, S represents Set, and I represents Invalid.

FieldIdentifier

ARD

APD

IRD

IPD

SQL_DESC_ALLOC_TYPE

G

G

G

G

SQL_DESC_ARRAY_SIZE

G/S

G/S (1)

I

I

SQL_DESC_ARRAY_STATUS_PTR

G/S

G/S

G/S

G/S

SQL_DESC_BIND_OFFSET_PTR

G/S

G/S

I

I

SQL_DESC_BIND_TYPE

G/S

G/S

I

I

SQL_DESC_COUNT

G/S

G/S

G

G/S

SQL_DESC_ROW_PROCESSED_PTR

I

I

G/S

G/S

SQL_DESC_AUTO_UNIQUE_VALUE

I

I

G

I

SQL_DESC_BASE_COLUMN_NAME

I

I

G

I

SQL_DESC_BASE_TABLE_NAME

I

I

G

I

SQL_DESC_CASE_SENSITIVE

I

I

G

I

SQL_DESC_CATALOG_NAME

I

I

G

I

SQL_DESC_CONCISE_TYPE

G/S

G/S

G

G/S

SQL_DESC_DATA_PTR

G/S

G/S

I

I

SQL_DESC_DATETIME_INTERVAL_ CODE

G/S

G/S

G

G/S

SQL_DESC_DATETIME_INTERVAL_ PREC

G/S

G/S

G

G/S

SQL_DESC_DISPLAY_SIZE

I

I

G

I

SQL_DESC_FIXED_PREC_SCALE

I

I

G

G

SQL_DESC_INDICATOR_PTR

G/S

G/S

I

I

SQL_DESC_LABLE

I

I

G

I

SQL_DESC_LENGTH

G/S

G/S

G

G/S

SQL_DESC_LITERAL_PREFIX

I

I

G

I

SQL_DESC_LITERAL_SU FFIX

I

I

G

I

SQL_DESC_LOCAL_TYPE_NAME

I

I

G

G

SQL_DESC_NAME

I

I

G

G

SQL_DESC_NULLABLE

I

I

G

G

SQL_DESC_NUM_PREC_RADIX

G/S

G/S

G

G/S

SQL_DESC_OCTET_LENGTH

G/S

G/S

G

G/S

SQL_DESC_OCTET_LENGTH_PTR

G/S

G/S

I

I

SQL_DESC_PARAMETER_TYPE

I

I

I

G/S

SQL_DESC_PRECISION

G/S

G/S

G

G/S

SQL_DESC_SCALE

G/S

G/S

G

G/S

SQL_DESC_SCHEMA_NAME

I

I

G

I

SQL_DESC_SEARCHABLE

I

I

G

I

SQL_DESC_TABLE_NAME

I

I

G

I

SQL_DESC_TYPE

G/S

G/S

G

G/S

SQL_DESC_TYPE_NAME

I

I

G

G

SQL_DESC_UNNAMED

I

I

G

I

SQL_DESC_UNSIGNED

I

I

G

G

SQL_DESC_UPDATABLE

I

I

G

I

Notes:

1. Only supports a value of 1.

SQLGetDescRec

The SQLGetDescRec function is fully supported in the DBMaker 3.5 API (ODBC 3.0). The SQLGetDescRec function returns the settings or values of multiple fields of a descriptor record. The function prototype for SQLGetDescRec is:

RETCODE SQLGetDescRec(
                      SQLHDESC     DescriptorHandle,
                      SQLSMALLINT  RecNumber,
                      SQLCHAR     *Name,
                      SQLSMALLINT  BufferLength,
                      SQLSMALLINT *StringLengthPtr,
                      SQLSMALLINT *TypePtr,
                      SQLSMALLINT *SubTypePtr,
                      SQLINTEGER  *LengthPtr,
                      SQLSMALLINT *PrecisionPtr,
                      SQLSMALLINT *ScalePtr,
                      SQLSMALLINT *NullablePtr
                     );

SQLGetDiagField

The SQLGetDiagField function is partially supported in the DBMaker 3.5 API (ODBC 3.0). The SQLGetDiagField function returns the current value of a field from a record in a specified handle's diagnostic data structure. The field contains error, warning and status information. The function prototype for SQLGetDiagField is:

RETCODE SQLGetDiagField(
                        SQLSMALLINT  HandleType,
                        SQLHANDLE    Handle,
                        SQLSMALLINT  RecNumber,
                        SQLSMALLINT  DiagIdentifier,
                        SQLPOINTER   DiagInfoPtr,
                        SQLSMALLINT  BufferLength,
                        SQLSMALLINT *StringLengthPtr
                       );

The following table shows the identifier of the field required from the diagnostic data structure, and whether it is supported in DBMaker 3.5.

DiagIdentifier

Supported?

SQL_DIAG_CURSOR_ROW_COUNT

N

SQL_DIAG_DYNAMIC_FUNCTION

N

SQL_DIAG_DYNAMIC_FUNCTION_CODE

N

SQL_DIAG_NUMBER

Y

SQL_DIAG_RETURNCODE

Y

SQL_DIAG_ROW_COUNT

Y

SQL_DIAG_CLASS_ORIGIN

Y

SQL_DIAG_CONNECTION_NAME

Y

SQL_DIAG_MESSAGE_TEXT

Y

SQL_DIAG_SERVER_NAME

Y

SQL_DIAG_SQLSTATE

Y

SQL_DIAG_SUBCLASS_ORIGIN

Y

SQL_DIAG_COLUMN_NUMBER

N

SQL_DIAG_NATIVE

N

SQL_DIAG_ROW_NUMBER

N

SQLGetDiagRec

The SQLGetDiagRec function is fully supported in the DBMaker 3.5 API (ODBC 3.0). The SQLGetDiagRec function returns the values of several commonly used fields of a diagnostic record, including SQLSTATE, the native error code, and the diagnostic message text. DBMaker supports the following values for the HandleType argument: SQL_HANDLE_ENV, SQL_HANDLE_DBC, SQL_HANDLE_STMT, and SQL_HANDLE_DESC. The function prototype for SQLGetDiagRec is:

RETCODE SQLGetDiagRec(
                      SQLSMALLINT  HandleType,
                      SQLHANDLE    Handle,
                      SQLSMALLINT  RecNumber,
                      SQLCHAR     *Sqlstate,
                      SQLINTEGER  *NativeErrorPtr,
                      SQLCHAR     *MessageText,
                      SQLSMALLINT  BufferLength,
                      SQLSMALLINT *TextLengthPtr
                     );

SQLGetEnvAttr

The SQLGetEnvAttr function is partially supported in the DBMaker 3.5 API (ODBC 3.0). The SQLGetEnvAttr function gets attributes for an environment handle. The function prototype for SQLGetEnvAttr is:

RETCODE SQLSetEnvAttr(
                      SQLHENV     EnvironmentHandle,
                      SQLINTEGER  Attribute,
                      SQLPOINTER  ValuePtr,
                      SQLINTEGER  BufferLength,
                      SQLINTEGER *StringLengthPtr
                     );

The following table lists the attributes that can be retrieved using this function, and whether they are supported in DBMaker 3.5.

Attribute

Supported?

SQL_ATTR_ODBC_VERSION

Y

SQL_ATTR_OUTPUT_NTS

Y

SQL_ATTR_CONNECTION_POOLING

N

SQL_ATTR_CP_MATCH

N

SQLGetStmtAttr

The SQLGetStmtAttr function is partially supported in the DBMaker 3.5 API (ODBC 3.0). The SQLGetStmtAttr function sets attributes for a statement. This function replaces the SQLGetStatementOption function in ODBC 2.0. The function prototype for SQLGetStmtAttr is:

RETCODE SQLGetStmtAttr(
                       SQLHSTMT    StatementHandle,
                       SQLINTEGER  Attribute,
                       SQLPOINTER  ValuePtr,
                       SQLINTEGER  BufferLength,
                       SQLINTEGER *StringLengthPtr
                      );

The following table lists the attributes that can be retrieved using this function, and whether they are supported in DBMaker 3.5.

Attribute

Supported?

SQL_ATTR_APPPARAM_DESC

Y

SQL_ATTR_APP_ROW_DESC

Y

SQL_ATTR_ASYNC_ENABLE

Y

SQL_ATTR_CONCURRENCY

Y

SQL_ATTR_CURSOR_SCROLLABLE

Y

SQL_ATTR_CURSOR_SENSITIVITY

Y

SQL_ATTR_CURSOR_TYPE

Y

SQL_ATTR_ENABLE_AUTO_IPD

Y

SQL_ATTR_FETCH_BOOKMARK_PTR

N

SQL_ATTR_IMP_PARAM_DESC

Y

SQL_ATTR_IMP_ROW_DESC

Y

SQL_ATTR_KEYSET_SIZE

Y

SQL_ATTR_MAX_LENGTH

Y

SQL_ATTR_MAX_ROWS

Y

SQL_ATTR_METADATA_ID

Y

SQL_ATTR_NOSCAN

Y

SQL_ATTR_PARAM_BIND_OFFSET_PTR

Y

SQL_ATTR_PARAM_BIND_TYPE

Y

SQL_ATTR_PARAM_OPERATION_PTR

Y

SQL_ATTR_PARAM_STATUS_PTR

Y

SQL_ATTR_PARAMS_PROCESSED_PTR

Y

SQL_ATTR_PARAMSET_SIZE

Y

SQL_ATTR_QUERY_TIMEOUT

Y

SQL_ATTR_RETRIEVE_DATA

Y

SQL_ATTR_ROW_ARRAY_SIZE

Y

SQL_ATTR_ROW_BIND_OFFSET_PTR

Y

SQL_ATTR_ROW_BIND_TYPE

Y

SQL_ATTR_ROW_NUMBER

N

SQL_ATTR_ROW_OPERATION_PTR

Y

SQL_ATTR_ROW_STATUS_PTR

Y

SQL_ATTR_ROWS_FETCHED_PTR

Y

SQL_ATTR_SIMULATE_CURSOR

Y

SQL_ATTR_USE_BOOKMARK

N

SQLPrimaryKeys

The SQLPrimaryKeys function is fully supported in the DBMaker 3.5 API (ODBC 3.0). The SQLPrimaryKeys function returns the column names that make up the primary key of a table as a result set. The function prototype for SQLPrimaryKeys is:

RETCODE SQLPrimaryKeys(
                       SQLHSTMT     StatementHandle,
                       SQLCHAR     *CatalogName,
                       SQLSMALLINT  NameLength1,
                       SQLCHAR     *SchemaName,
                       SQLSMALLINT  NameLength2,
                       SQLCHAR     *TableName,
                       SQLSMALLINT  NameLength3
                      );

SQLSetConnectAttr

The SQLSetConnectAttr function is partially supported in the DBMaker 3.5 API (ODBC 3.0). The SQLSetConnectAttr function sets attributes for a database connection. This function replaces the SQLSetConnectOption function in ODBC 2.0. The function prototype for SQLSetConnectAttr is:

RETCODE SQLSetConnectAttr(
                          SQLHDBC    ConnectionHandle,
                          SQLINTEGER Attribute,
                          SQLPOINTER ValuePtr,
                          SQLINTEGER StringLength
                         );

The following table lists the attributes that can be set using this function, and whether they are supported in DBMaker 3.5.

Attribute

Supported?

SQL_ATTR_AUTOCOMMIT

Y

SQL_ATTR_LOGIN_TIMEOUT

Y

SQL_ATTR_TXN_ISOLATION

Y

SQL_ATTR_AUTO_IPD

N

SQL_ATTR_ACCESS_MODE

N

SQL_ATTR_CURRENT_CATALOG

N

SQL_ATTR_ASYNC_ENABLE

Y (See Note 1)

SQL_ATTR_CONNECTION_TIMEOUT

Y (See Note 2)

SQL_ATTR_MAX_ROWS

Y (See Note 3)

SQL_ATTR_METADATA_ID

Y (See Note 4)

SQL_ATTR_QUERY_TIMEOUT

Y (See Note 2)

Notes:

1. Only supports SQL_ASYNC_ENABLE_OFF.
2. Only supports a value of 0 (no time-out).
3. Only supports a value of 0 (all rows).
4. Only supports SQL_FALSE.

SQLSetDescField

The SQLSetD escField function is fully supported in the DBMaker 3.5 API (ODBC 3.0). The SQLSetDescField function sets the value of a single field of a descriptor record. The function prototype for SQLSetDescField is:

RETCODE SQLSetDescField(
                        SQLHDESC    DescriptorHandle,
                        SQLSMALLINT RecNumber,
                        SQLSMALLINT FieldIdentifier,
                        SQLPOINTER  ValuePtr,
                        SQLINTEGER  BufferLength
                       );

The following table lists the descriptor fields that can be set using this function in DBMaker 3.5. In the table, the G represents Get, S represents Set, and I represents Invalid.

FieldIdentifier

ARD

APD

IRD

IPD

SQL_DESC_ALLOC_TYPE

G

G

G

G

SQL_DESC_ARRAY_SIZE

G/S

G/S (1)

I

I

SQL_DESC_ARRAY_STATUS_PTR

G/S

G/S

G/S

G/S

SQL_DESC_BIND_OFFSET_PTR

G/S

G/S

I

I

SQL_DESC_BIND_TYPE

G/S

G/S

I

I

SQL_DESC_COUNT

G/S

G/S

G

G/S

SQL_DESC_ROW_PROCESSED_PTR

I

I

G/S

G/S

SQL_DESC_AUTO_UNIQUE_VALUE

I

I

G

I

SQL_DESC_BASE_COLUMN_NAME

I

I

G

I

SQL_DESC_BASE_TABLE_NAME

I

I

G

I

SQL_DESC_CASE_SENSITIVE

I

I

G

I

SQL_DESC_CATALOG_NAME

I

I

G

I

SQL_DESC_CONCISE_TYPE

G/S

G/S

G

G/S

SQL_DESC_DATA_PTR

G/S

G/S

I

I

SQL_DESC_DATETIME_INTERVAL_ CODE

G/S

G/S

G

G/S

SQL_DESC_DATETIME_INTERVAL_ PREC

G/S

G/S

G

G/S

SQL_DESC_DISPLAY_SIZE

I

I

G

I

SQL_DESC_FIXED_PREC_SCALE

I

I

G

G

SQL_DESC_INDICATOR_PTR

G/S

G/S

I

I

SQL_DESC_LABLE

I

I

G

I

SQL_DESC_LENGTH

G/S

G/S

G

G/S

SQL_DESC_LITERAL_PREFIX

I

I

G

I

SQL_DESC_LITERAL_SU FFIX

I

I

G

I

SQL_DESC_LOCAL_TYPE_NAME

I

I

G

G

SQL_DESC_NAME

I

I

G

G

SQL_DESC_NULLABLE

I

I

G

G

SQL_DESC_NUM_PREC_RADIX

G/S

G/S

G

G/S

SQL_DESC_OCTET_LENGTH

G/S

G/S

G

G/S

SQL_DESC_OCTET_LENGTH_PTR

G/S

G/S

I

I

SQL_DESC_PARAMETER_TYPE

I

I

I

G/S

SQL_DESC_PRECISION

G/S

G/S

G

G/S

SQL_DESC_SCALE

G/S

G/S

G

G/S

SQL_DESC_SCHEMA_NAME

I

I

G

I

SQL_DESC_SEARCHABLE

I

I

G

I

SQL_DESC_TABLE_NAME

I

I

G

I

SQL_DESC_TYPE

G/S

G/S

G

G/S

SQL_DESC_TYPE_NAME

I

I

G

G

SQL_DESC_UNNAMED

I

I

G

I

SQL_DESC_UNSIGNED

I

I

G

G

SQL_DESC_UPDATABLE

I

I

G

I

Notes:

1. Only supports a value of 1.

SQLSetDescRec

The SQLSetDescRec function is fully supported in the DBMaker 3.5 API (ODBC 3.0). The SQLSetDescRec function sets the value of multiple descriptor fields that affect the data type and buffer bound to a column or parameter. The function prototype for SQLSetDescRec is:

RETCODE SQLSetDescField(
                        SQLHDESC     DescriptorHandle,
                        SQLSMALLINT  RecNumber,
                        SQLSMALLINT  Type,
                        SQLSMALLINT  SubType,
                        SQLINTEGER   Length,
                        SQLSMALLINT  Precision,
                        SQLSMALLINT  Scale,
                        SQLPOINTER   DataPtr,
                        SQLINTEGER  *StringLengthPtr,
                        SQLINTEGER  *IndicatorPtr
                       );

SQLSetEnvAttr

The SQLSetEnvAttr function is partially supported in the DBMaker 3.5 API (ODBC 3.0). The SQLSetEnvAttr function sets attributes for an environment handle. The function prototype for SQLSetEnvAttr is:

RETCODE SQLSetEnvAttr(
                      SQLHENV    EnvironmentHandle,
                      SQLINTEGER Attribute,
                      SQLPOINTER ValuePtr,
                      SQLINTEGER StringLength
                     );

The following table lists the attributes that can be set using this function, and whether they are supported in DBMaker 3.5.

Attribute

Supported?

SQL_ATTR_ODBC_VERSION

Y

SQL_ATTR_OUTPUT_NTS

Y (See note 1)

SQL_ATTR_CONNECTION_POOLING

N

SQL_ATTR_CP_MATCH

N

Notes:

1. Only supports SQL_TRUE (always NULL terminated).

SQLSetStmtAttr

The SQLSetStmtAttr function is partially supported in the DBMaker 3.5 API (ODBC 3.0). The SQLSetStmtAttr function sets attributes for a statement. This function replaces the SQLSetStatementOption function in ODBC 2.0. The function prototype for SQLSetStmtAttr is:

RETCODE SQLSetStmtAttr(
                       SQLHSTMT   StatementHandle,
                       SQLINTEGER Attribute,
                       SQLPOINTER ValuePtr,
                       SQLINTEGER StringLength
                      );

The following table lists the attributes that can be set using this function, and whether they are supported in DBMaker 3.5.

Attribute

Supported?

SQL_ATTR_APPPARAM_DESC

Y

SQL_ATTR_APP_ROW_DESC

Y

SQL_ATTR_ASYNC_ENABLE

Y (See note 1)

SQL_ATTR_CONCURRENCY

Y (See note 2)

SQL_ATTR_CURSOR_SCROLLABLE

Y

SQL_ATTR_CURSOR_SENSITIVITY

Y (See note 3)

SQL_ATTR_CURSOR_TYPE

Y

SQL_ATTR_ENABLE_AUTO_IPD

Y

SQL_ATTR_FETCH_BOOKMARK_PTR

N

SQL_ATTR_IMP_PARAM_DESC

N

SQL_ATTR_IMP_ROW_DESC

N

SQL_ATTR_KEYSET_SIZE

Y (See note 4)

SQL_ATTR_MAX_LENGTH

Y (See note 4)

SQL_ATTR_MAX_ROWS

Y (See note 4)

SQL_ATTR_METADATA_ID

Y (See note 5)

SQL_ATTR_NOSCAN

Y (See note 6)

SQL_ATTR_PARAM_BIND_OFFSET_PTR

Y

SQL_ATTR_PARAM_BIND_TYPE

Y

SQL_ATTR_PARAM_OPERATION_PTR

Y

SQL_ATTR_PARAM_STATUS_PTR

Y

SQL_ATTR_PARAMS_PROCESSED_PTR

Y

SQL_ATTR_PARAMSET_SIZE

Y (See note 7)

SQL_ATTR_QUERY_TIMEOUT

Y (See note 4)

SQL_ATTR_RETRIEVE_DATA

Y (See note 8)

SQL_ATTR_ROW_ARRAY_SIZE

Y

SQL_ATTR_ROW_BIND_OFFSET_PTR

Y

SQL_ATTR_ROW_BIND_TYPE

Y

SQL_ATTR_ROW_NUMBER

N

SQL_ATTR_ROW_OPERATION_PTR

Y

SQL_ATTR_ROW_STATUS_PTR

Y

SQL_ATTR_ROWS_FETCHED_PTR

Y

SQL_ATTR_SIMULATE_CURSOR

Y (See note 9)

SQL_ATTR_USE_BOOKMARK

N

Notes:

1. Only supports SQL_ASYNC_ENABLE_OFF.
2. Only supports SQL_CONCUR_READ_ONLY and SQL_CONCUR_LOCK.
3. Only supports SQL_UNSPECIFIED.
4. Only supports a value of 0.
5. Only supports SQL_FALSE.
6. Only supports SQL_NOSCAN_ON.
7. Only supports a value of 1.
8. Only supports SQL_RD_ON.
9. Only supports SQL_SC_UNIQUE.

Previous PageTop Of PageTable Of Contents

Copyright 2002 SYSCOM Computer Engineering Co. All rights reserved.