Supported API Functions

The following identifies the CORE, Level 1, and Level 2 API functions supported by the BASIS ODBC Driver:

CORE Functions

Level 1 Functions

Level 2 Functions

SQLAllocConnect

SQLColumns

SQLColumnPrivileges

SQLAllocEnv

SQLDriverConnect

SQLDataSources

SQLAllocStmt

SQLGetConnectOption

SQLDescribeParam ****

SQLBindCol

SQLGetData

SQLForeignKeys

SQLBindParameters *

SQLGetFunctions

SQLNumParams

SQLCancel

SQLGetInfo *****

SQLPrimaryKeys

SQLColAttributes

SQLGetStmtOption

SQLTablePrivileges

SQLConnect

SQLGetTypeInfo

SQLDescribeCol

SQLParamData

SQLDisconnect

SQLPutData

SQLError

SQLSetConnectOption

SQLExecDirect

SQLSetStmtOption

SQLExecute

SQLSpecialColumns

SQLFetch

SQLStatistics ***

SQLFreeConnect

SQLTables

SQLFreeEnv

SQLFreeStmt

SQLGetCursorName

SQLNumResultCols

SQLPrepare

SQLRowCount

SQLSetCursorName

SQLBindParam

SQLTransact **

*The number of allowable parameters for SQLBindParameters is 255.

**SQLTransact is allowed, although operations occur in auto-commit mode.

***SQLStatistics may not respect the uniqueness of index segments that have unique non-primary index segments. In PRO/5, when a multi-keyed file index is constructed where it contains one or more unique segments that are not the first segment, PRO/5 assumes that the entire index is unique. In the BASIS ODBC Driver, when a unique segment occurs in the non-primary position of an index, it is reported that the entire index is non-unique. This behavior was put into the BASIS ODBC Driver to ensure that certain products (MS Access) behave correctly when mixed unique/non-unique segments in an index are encountered and does not affect application performance or function.

****SQLDescribeParam parameters are always returned as SQL_VARCHAR or SQL_NUMERIC.

*****SQLGetInfo is passed SQL_NULL_COLLATION, and returns with SQL_NC_LOW. Through the SQLGetInfo() function, the following ODBC Scalar Functions are supported:

Supported ODBC Scalar Functions

ABS

ACOS(double)

ASCII

ASIN

ATAN

ATAN2

CEILING

CHAR

COT

CONCAT

COS

CURDATE

CURTIME

DATABASE

DAYNAME

DAYOFMONTH

DAYOFWEEK

DAYOFYEAR

DEGREES

DEGREES

DIFFERENCE

EXP

FLOOR

HOUR

INSERT

LCASE

LEFT

LENGTH

LOG

LOG10

LTRIM

MINUTE

MOD

MONTH

MONTHNAME

NOW

PI

POWER

POWER

QUARTER

RADIANS

RADIANS

RAND

RAND

RAND

ROUND

ROUND

REPEAT

REPLACE

RIGHT

RTRIM

SECOND

SIGN

SIN

SOUNDEX

SPACE

SQRT(double)

SUBSTRING

TAN(double)

TRIM

TRUNCATE

UCASE

USER

WEEK

YEAR

The ODBC scalar function extension syntax is also supported:

select { fn left(last_name,4) } from customer

It is not necessary to use the ODBC scalar function extension syntax to access Scalar Functions in the BASIS ODBC Driver. This syntax is provided for products that use the extension syntax with scalar functions. The above query could have been represented as:

select left(last_name,4) from customer

The ODBC CONVERT function is supported with the arguments SQL_DECIMAL and SQL_CHAR. For example:

select convert(cust_num,sql_decimal), convert(last_name,sql_char) from customer