Remove unused files. These files are only required for the non-iodbc/non-unixodbc...
authorDave Page <dpage@pgadmin.org>
Mon, 5 Jul 2004 09:55:16 +0000 (09:55 +0000)
committerDave Page <dpage@pgadmin.org>
Mon, 5 Jul 2004 09:55:16 +0000 (09:55 +0000)
Makefile.am
iodbc.h [deleted file]
isql.h [deleted file]
isqlext.h [deleted file]

index fb3458be402702fe7fe28125410e44711c2e5d52..a3b0b4b771bbe5aa93c6f2943289b4ba8817444d 100644 (file)
@@ -2,7 +2,7 @@
 #
 # Makefile.am for psqlodbc (PostgreSQL ODBC driver)
 #
-# $Header: /home/heikki/psqlodbc-cvs-copy/psqlodbc/Makefile.am,v 1.11 2004/04/14 09:11:56 dpage Exp $
+# $Header: /home/heikki/psqlodbc-cvs-copy/psqlodbc/Makefile.am,v 1.12 2004/07/05 09:55:16 dpage Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -22,7 +22,7 @@ psqlodbc_la_SOURCES = \
 
 psqlodbc_la_SOURCES += \
    bind.h columninfo.h connection.h convert.h descriptor.h \
-   dlg_specific.h environ.h gpps.h iodbc.h isql.h isqlext.h \
+   dlg_specific.h environ.h gpps.h \
    lobj.h md5.h misc.h multibyte.h pgapifunc.h pgtypes.h \
    psqlodbc.h qresult.h resource.h socket.h statement.h tuple.h \
    tuplelist.h version.h
diff --git a/iodbc.h b/iodbc.h
deleted file mode 100644 (file)
index f8e7d24..0000000
--- a/iodbc.h
+++ /dev/null
@@ -1,68 +0,0 @@
-#ifndef _IODBC_H
-#define _IODBC_H
-
-#if    !defined(WIN32) && !defined(WIN32_SYSTEM)
-#define   _UNIX_
-
-#include  <stdlib.h>
-#include  <sys/types.h>
-
-#define   MEM_ALLOC(size)  (malloc((size_t)(size)))
-#define   MEM_FREE(ptr) \
-do { \
-   if(ptr) \
-       free(ptr); \
-} while (0)
-
-#define   STRCPY(t, s)     (strcpy((char*)(t), (char*)(s)))
-#define   STRNCPY(t,s,n)   (strncpy((char*)(t), (char*)(s), (size_t)(n)))
-#define   STRCAT(t, s)     (strcat((char*)(t), (char*)(s)))
-#define   STRNCAT(t,s,n)   (strncat((char*)(t), (char*)(s), (size_t)(n)))
-#define   STREQ(a, b)      (strcmp((char*)(a), (char*)(b)) == 0)
-#define   STRLEN(str)      ((str)? strlen((char*)(str)):0)
-
-#define   EXPORT
-#define   CALLBACK
-#define   FAR
-
-typedef signed short SSHOR;
-typedef short WORD;
-typedef long DWORD;
-
-typedef WORD WPARAM;
-typedef DWORD LPARAM;
-typedef void *HWND;
-typedef int BOOL;
-#endif   /* _UNIX_ */
-
-#if    defined(WIN32) || defined(WIN32_SYSTEM)
-
-#include  <windows.h>
-#include  <windowsx.h>
-
-#ifdef   _MSVC_
-#define  MEM_ALLOC(size)   (fmalloc((size_t)(size)))
-#define  MEM_FREE(ptr)     ((ptr)? ffree((PTR)(ptr)):0))
-#define  STRCPY(t, s)      (fstrcpy((char FAR*)(t), (char FAR*)(s)))
-#define  STRNCPY(t,s,n)        (fstrncpy((char FAR*)(t), (char FAR*)(s), (size_t)(n)))
-#define  STRLEN(str)       ((str)? fstrlen((char FAR*)(str)):0)
-#define  STREQ(a, b)       (fstrcmp((char FAR*)(a), (char FAR*)(b) == 0)
-#endif
-
-#ifdef   _BORLAND_
-#define  MEM_ALLOC(size)   (farmalloc((unsigned long)(size))
-#define  MEM_FREE(ptr)     ((ptr)? farfree((void far*)(ptr)):0)
-#define  STRCPY(t, s)      (_fstrcpy((char FAR*)(t), (char FAR*)(s)))
-#define  STRNCPY(t,s,n)        (_fstrncpy((char FAR*)(t), (char FAR*)(s), (size_t)(n)))
-#define  STRLEN(str)       ((str)? _fstrlen((char FAR*)(str)):0)
-#define  STREQ(a, b)       (_fstrcmp((char FAR*)(a), (char FAR*)(b) == 0)
-#endif
-#endif   /* WIN32 */
-
-#define    SYSERR          (-1)
-
-#ifndef    NULL
-#define  NULL              ((void FAR*)0UL)
-#endif
-
-#endif
diff --git a/isql.h b/isql.h
deleted file mode 100644 (file)
index f27c087..0000000
--- a/isql.h
+++ /dev/null
@@ -1,246 +0,0 @@
-/*
- * Modified isql.h file from iodbc. This file should be placed in the
- * include path to be used to create ODBC compliant applications.
- */
-
-#ifndef _INTRINSIC_SQL_H
-#define _INTRINSIC_SQL_H
-
-typedef unsigned char UCHAR;
-typedef long int SDWORD;
-typedef short int SWORD;
-typedef unsigned long int UDWORD;
-typedef unsigned short int UWORD;
-
-typedef void FAR *PTR;
-
-typedef void FAR *HENV;
-typedef void FAR *HDBC;
-typedef void FAR *HSTMT;
-
-typedef signed short RETCODE;
-
-#ifdef WIN32
-#define SQL_API             __stdcall
-#else
-#define SQL_API             EXPORT CALLBACK
-#endif
-
-/*#define ODBCVER      0x0250 */
-
-#define SQL_MAX_MESSAGE_LENGTH         512
-#define SQL_MAX_DSN_LENGTH             32
-
-/* return code */
-#define SQL_INVALID_HANDLE             (-2)
-#define SQL_ERROR                      (-1)
-#define SQL_SUCCESS                        0
-#define SQL_SUCCESS_WITH_INFO          1
-#define SQL_NO_DATA_FOUND              100
-
-/* standard SQL datatypes (agree with ANSI type numbering) */
-#define SQL_CHAR                       1
-#define SQL_NUMERIC                        2
-#define SQL_DECIMAL                        3
-#define SQL_INTEGER                        4
-#define SQL_SMALLINT                   5
-#define SQL_FLOAT                      6
-#define SQL_REAL                       7
-#define SQL_DOUBLE                     8
-#define SQL_VARCHAR                        12
-
-#define SQL_TYPE_MIN                   SQL_CHAR
-#define SQL_TYPE_NULL                  0
-#define SQL_TYPE_MAX                   SQL_VARCHAR
-
-/* C to SQL datatype mapping */
-#define SQL_C_CHAR                     SQL_CHAR
-#define SQL_C_LONG                     SQL_INTEGER
-#define SQL_C_SHORT                        SQL_SMALLINT
-#define SQL_C_FLOAT                        SQL_REAL
-#define SQL_C_DOUBLE                   SQL_DOUBLE
-#define SQL_C_DEFAULT                  99
-
-#define SQL_NO_NULLS                   0
-#define SQL_NULLABLE                   1
-#define SQL_NULLABLE_UNKNOWN           2
-
-/* some special length values */
-#define SQL_NULL_DATA                  (-1)
-#define SQL_DATA_AT_EXEC               (-2)
-#define SQL_NTS                            (-3)
-
-/* SQLFreeStmt flag values */
-#define SQL_CLOSE                      0
-#define SQL_DROP                       1
-#define SQL_UNBIND                     2
-#define SQL_RESET_PARAMS               3
-
-/* SQLTransact flag values */
-#define SQL_COMMIT                     0
-#define SQL_ROLLBACK                   1
-
-/* SQLColAttributes flag values */
-#define SQL_COLUMN_COUNT               0
-#define SQL_COLUMN_LABEL               18
-#define SQL_COLATT_OPT_MAX             SQL_COLUMN_LABEL
-#define SQL_COLUMN_DRIVER_START            1000
-
-#define SQL_COLATT_OPT_MIN             SQL_COLUMN_COUNT
-
-/* Null handles */
-#define SQL_NULL_HENV                  0
-#define SQL_NULL_HDBC                  0
-#define SQL_NULL_HSTMT                 0
-
-/* All code below has been added to the original isql.h coming from iodbc */
-typedef unsigned char BYTE;
-
-/* More SQLColAttributes flag values */
-#define SQL_COLUMN_NAME                    1
-#define SQL_COLUMN_TYPE                    2
-#define SQL_COLUMN_LENGTH              3
-#define SQL_COLUMN_PRECISION           4
-#define SQL_COLUMN_SCALE               5
-#define SQL_COLUMN_DISPLAY_SIZE            6
-#define SQL_COLUMN_NULLABLE                7
-#define SQL_COLUMN_UNSIGNED                8
-#define SQL_COLUMN_MONEY               9
-#define SQL_COLUMN_UPDATABLE           10
-#define SQL_COLUMN_AUTO_INCREMENT      11
-#define SQL_COLUMN_CASE_SENSITIVE      12
-#define SQL_COLUMN_SEARCHABLE          13
-#define SQL_COLUMN_TYPE_NAME           14
-#define SQL_COLUMN_TABLE_NAME          15
-#define SQL_COLUMN_OWNER_NAME          16
-#define SQL_COLUMN_QUALIFIER_NAME      17
-
-/* SQLColAttributes Searchable flags */
-#define SQL_UNSEARCHABLE               0
-#define SQL_LIKE_ONLY                  1
-#define SQL_ALL_EXCEPT_LIKE                2
-#define SQL_SEARCHABLE                 3
-#define SQL_PRED_SEARCHABLE                SQL_SEARCHABLE
-
-/* SQLColAttributes Updateable flags */
-#define SQL_ATTR_READONLY              0
-#define SQL_ATTR_WRITE                 1
-#define SQL_ATTR_READWRITE_UNKNOWN     2
-
-/*
- * function prototypes previously not contained in isql.h
- */
-#ifdef __cplusplus
-extern     "C"
-{
-#endif
-
-RETCODE SQL_API SQLAllocConnect(HENV henv,
-               HDBC FAR * phdbc);
-RETCODE SQL_API SQLAllocEnv(HENV FAR * phenv);
-RETCODE SQL_API SQLAllocStmt(HDBC hdbc,
-            HSTMT FAR * phstmt);
-RETCODE SQL_API SQLBindCol(HSTMT hstmt,
-          UWORD icol,
-          SWORD fCType,
-          PTR rgbValue,
-          SDWORD cbValueMax,
-          SDWORD FAR * pcbValue);
-
-RETCODE SQL_API SQLCancel(HSTMT hstmt);
-
-RETCODE SQL_API SQLColAttributes(HSTMT hstmt,
-                UWORD icol,
-                UWORD fDescType,
-                PTR rgbDesc,
-                SWORD cbDescMax,
-                SWORD FAR * pcbDesc,
-                SDWORD FAR * pfDesc);
-
-RETCODE SQL_API SQLConnect(HDBC hdbc,
-          UCHAR FAR * szDSN,
-          SWORD cbDSN,
-          UCHAR FAR * szUID,
-          SWORD cbUID,
-          UCHAR FAR * szAuthStr,
-          SWORD cbAuthStr);
-
-RETCODE SQL_API SQLDescribeCol(HSTMT hstmt,
-              UWORD icol,
-              UCHAR FAR * szColName,
-              SWORD cbColNameMax,
-              SWORD FAR * pcbColName,
-              SWORD FAR * pfSqlType,
-              UDWORD FAR * pcbColDef,
-              SWORD FAR * pibScale,
-              SWORD FAR * pfNullable);
-
-RETCODE SQL_API SQLDisconnect(HDBC hdbc);
-
-RETCODE SQL_API SQLError(HENV henv,
-        HDBC hdbc,
-        HSTMT hstmt,
-        UCHAR FAR * szSqlState,
-        SDWORD FAR * pfNativeError,
-        UCHAR FAR * szErrorMsg,
-        SWORD cbErrorMsgMax,
-        SWORD FAR * pcbErrorMsg);
-
-RETCODE SQL_API SQLExecDirect(HSTMT hstmt,
-             UCHAR FAR * szSqlStr,
-             SDWORD cbSqlStr);
-
-RETCODE SQL_API SQLExecute(HSTMT hstmt);
-
-RETCODE SQL_API SQLFetch(HSTMT hstmt);
-
-RETCODE SQL_API SQLFreeConnect(HDBC hdbc);
-
-RETCODE SQL_API SQLFreeEnv(HENV henv);
-
-RETCODE SQL_API SQLFreeStmt(HSTMT hstmt,
-           UWORD fOption);
-
-RETCODE SQL_API SQLGetCursorName(HSTMT hstmt,
-                UCHAR FAR * szCursor,
-                SWORD cbCursorMax,
-                SWORD FAR * pcbCursor);
-
-RETCODE SQL_API SQLNumResultCols(HSTMT hstmt,
-                SWORD FAR * pccol);
-
-RETCODE SQL_API SQLPrepare(HSTMT hstmt,
-          UCHAR FAR * szSqlStr,
-          SDWORD cbSqlStr);
-
-RETCODE SQL_API SQLRowCount(HSTMT hstmt,
-           SDWORD FAR * pcrow);
-
-RETCODE SQL_API SQLSetCursorName(HSTMT hstmt,
-                UCHAR FAR * szCursor,
-                SWORD cbCursor);
-
-RETCODE SQL_API SQLTransact(HENV henv,
-           HDBC hdbc,
-           UWORD fType);
-
-RETCODE SQL_API SQLSetParam(HSTMT hstmt,
-           UWORD ipar,
-           SWORD fCType,
-           SWORD fSqlType,
-           UDWORD cbColDef,
-           SWORD ibScale,
-           PTR rgbValue,
-           SDWORD FAR * pcbValue);
-
-RETCODE SQL_API SQLDataSources(HENV henv,
-              UWORD Direction, UCHAR FAR * ServerName,
-              WORD BufferLength1, WORD *NameLength1,
-              UCHAR FAR * Description, WORD BufferLength2,
-              WORD *NameLength2);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/isqlext.h b/isqlext.h
deleted file mode 100644 (file)
index 989860b..0000000
--- a/isqlext.h
+++ /dev/null
@@ -1,1560 +0,0 @@
-/*
- * This file has been modified from the original isqlext.h to add the
- * missing function prototypes and appropriate #defines. It is designed
- * to be a drop in replacement for isqlext.h from iodbc.
- */
-
-#ifndef _INTRINSIC_SQLEXT_H
-#define _INTRINSIC_SQLEXT_H
-
-#include "isql.h"
-
-#define SQL_STILL_EXECUTING                2
-#define SQL_NEED_DATA                  99
-
-/* extend SQL datatypes */
-#define SQL_DATE                       9
-#define SQL_TIME                       10
-#define SQL_TIMESTAMP                  11
-#define SQL_LONGVARCHAR                    (-1)
-#define SQL_BINARY                     (-2)
-#define SQL_VARBINARY                  (-3)
-#define SQL_LONGVARBINARY              (-4)
-#define SQL_BIGINT                     (-5)
-#define SQL_TINYINT                        (-6)
-#define SQL_BIT                            (-7)    /* conflict with SQL3 ??? */
-#define SQL_TYPE_DRIVER_START          (-80)
-
-/* C to SQL datatype mapping */
-#define SQL_C_DATE                     SQL_DATE
-#define SQL_C_TIME                     SQL_TIME
-#define SQL_C_TIMESTAMP                    SQL_TIMESTAMP
-#define SQL_C_BINARY                   SQL_BINARY
-#define SQL_C_BIT                      SQL_BIT
-#define SQL_C_TINYINT                  SQL_TINYINT
-
-#define SQL_SIGNED_OFFSET              (-20)
-#define SQL_UNSIGNED_OFFSET                (-22)
-
-#define SQL_C_SLONG                        (SQL_C_LONG + SQL_SIGNED_OFFSET)
-#define SQL_C_SSHORT                   (SQL_C_SHORT + SQL_SIGNED_OFFSET)
-#define SQL_C_STINYINT                 (SQL_TINYINT + SQL_SIGNED_OFFSET)
-#define SQL_C_ULONG                        (SQL_C_LONG + SQL_UNSIGNED_OFFSET)
-#define SQL_C_USHORT                   (SQL_C_SHORT + SQL_UNSIGNED_OFFSET)
-#define SQL_C_UTINYINT                 (SQL_TINYINT + SQL_UNSIGNED_OFFSET)
-#define SQL_C_BOOKMARK                 SQL_C_ULONG
-
-#if defined(SQL_TYPE_MIN)
-#undef SQL_TYPE_MIN
-#define SQL_TYPE_MIN               SQL_BIT
-/* Note:If SQL_BIT uses SQL3 value (i.e. 14) then,
- * SQL_TYPE_MIN need to be defined as SQL_TINYINT
- * (i.e. -6).
- */
-#endif
-
-#define SQL_ALL_TYPES                  0
-
-/* SQLDriverConnect flag values */
-#define SQL_DRIVER_NOPROMPT                0
-#define SQL_DRIVER_COMPLETE                1
-#define SQL_DRIVER_PROMPT              2
-#define SQL_DRIVER_COMPLETE_REQUIRED   3
-
-/* SQLSetParam extensions */
-#define SQL_DEFAULT_PARAM              (-5)
-#define SQL_IGNORE                     (-6)
-
-/* function number for SQLGetFunctions and _iodbcdm_getproc */
-#define SQL_API_SQLALLOCCONNECT            1
-#define SQL_API_SQLALLOCENV                2
-#define SQL_API_SQLALLOCSTMT           3
-#define SQL_API_SQLBINDCOL             4
-#define SQL_API_SQLCANCEL              5
-#define SQL_API_SQLCOLATTRIBUTES       6
-#define SQL_API_SQLCONNECT             7
-#define SQL_API_SQLDESCRIBECOL         8
-#define SQL_API_SQLDISCONNECT          9
-#define SQL_API_SQLERROR               10
-#define SQL_API_SQLEXECDIRECT          11
-#define SQL_API_SQLEXECUTE             12
-#define SQL_API_SQLFETCH               13
-#define SQL_API_SQLFREECONNECT         14
-#define SQL_API_SQLFREEENV             15
-#define SQL_API_SQLFREESTMT                16
-#define SQL_API_SQLGETCURSORNAME       17
-#define SQL_API_SQLNUMRESULTCOLS       18
-#define SQL_API_SQLPREPARE             19
-#define SQL_API_SQLROWCOUNT                20
-#define SQL_API_SQLSETCURSORNAME       21
-#define SQL_API_SQLSETPARAM                22
-#define SQL_API_SQLTRANSACT                23
-
-#define SQL_NUM_FUNCTIONS              23
-
-#define SQL_EXT_API_START              40
-
-#define SQL_API_SQLCOLUMNS             40
-
-#define SQL_API_SQLDRIVERCONNECT       41
-#define SQL_API_SQLGETCONNECTOPTION        42
-#define SQL_API_SQLGETDATA             43
-#define SQL_API_SQLGETFUNCTIONS            44
-#define SQL_API_SQLGETINFO             45
-#define SQL_API_SQLGETSTMTOPTION       46
-#define SQL_API_SQLGETTYPEINFO         47
-#define SQL_API_SQLPARAMDATA           48
-#define SQL_API_SQLPUTDATA             49
-#define SQL_API_SQLSETCONNECTOPTION        50
-#define SQL_API_SQLSETSTMTOPTION       51
-#define SQL_API_SQLSPECIALCOLUMNS      52
-#define SQL_API_SQLSTATISTICS          53
-#define SQL_API_SQLTABLES              54
-
-#define SQL_API_SQLBROWSECONNECT       55
-#define SQL_API_SQLCOLUMNPRIVILEGES        56
-#define SQL_API_SQLDATASOURCES         57
-#define SQL_API_SQLDESCRIBEPARAM       58
-#define SQL_API_SQLEXTENDEDFETCH       59
-#define SQL_API_SQLFOREIGNKEYS         60
-#define SQL_API_SQLMORERESULTS         61
-#define SQL_API_SQLNATIVESQL           62
-#define SQL_API_SQLNUMPARAMS           63
-#define SQL_API_SQLPARAMOPTIONS            64
-#define SQL_API_SQLPRIMARYKEYS         65
-#define SQL_API_SQLPROCEDURECOLUMNS        66
-#define SQL_API_SQLPROCEDURES          67
-#define SQL_API_SQLSETPOS              68
-#define SQL_API_SQLSETSCROLLOPTIONS        69
-#define SQL_API_SQLTABLEPRIVILEGES     70
-
-#define SQL_API_SQLDRIVERS             71
-#define SQL_API_SQLBINDPARAMETER       72
-#define SQL_EXT_API_LAST               SQL_API_SQLBINDPARAMETER
-#define SQL_NUM_EXTENSIONS             (SQL_EXT_API_LAST - SQL_EXT_API_START + 1)
-
-#define SQL_API_ALL_FUNCTIONS          0
-
-/* SQLGetInfo infor number */
-#define SQL_INFO_FIRST                 0
-#define SQL_DRIVER_HDBC                    3
-#define SQL_DRIVER_HENV                    4
-#define SQL_DRIVER_HSTMT               5
-#define SQL_DRIVER_NAME                    6
-#define SQL_ODBC_VER                   10
-#define SQL_CURSOR_COMMIT_BEHAVIOR     23
-#define SQL_CURSOR_ROLLBACK_BEHAVIOR   24
-#define SQL_DEFAULT_TXN_ISOLATION      26
-
-#define SQL_TXN_ISOLATION_OPTION       72
-#define SQL_NON_NULLABLE_COLUMNS       75
-
-#define SQL_DRIVER_HLIB                    76
-#define SQL_DRIVER_ODBC_VER                77
-
-#define SQL_QUALIFIER_LOCATION         114
-
-#define SQL_INFO_LAST                  SQL_QUALIFIER_LOCATION
-
-#define SQL_INFO_DRIVER_START          1000
-
-
-/* SQL_TXN_ISOLATION_OPTION masks */
-#define SQL_TXN_READ_UNCOMMITTED       0x00000001L
-#define SQL_TXN_READ_COMMITTED         0x00000002L
-#define SQL_TXN_REPEATABLE_READ            0x00000004L
-#define SQL_TXN_SERIALIZABLE           0x00000008L
-#define SQL_TXN_VERSIONING             0x00000010L
-
-/* SQL_CURSOR_COMMIT_BEHAVIOR and SQL_CURSOR_ROLLBACK_BEHAVIOR values */
-
-#define SQL_CB_DELETE                  0x0000
-#define SQL_CB_CLOSE                   0x0001
-#define SQL_CB_PRESERVE                    0x0002
-
-/* options for SQLGetStmtOption/SQLSetStmtOption */
-#define SQL_QUERY_TIMEOUT              0
-#define SQL_MAX_ROWS                   1
-#define SQL_NOSCAN                     2
-#define SQL_MAX_LENGTH                 3
-#define SQL_ASYNC_ENABLE               4
-#define SQL_BIND_TYPE                  5
-#define SQL_CURSOR_TYPE                    6
-#define SQL_CONCURRENCY                    7
-#define SQL_KEYSET_SIZE                    8
-#define SQL_ROWSET_SIZE                    9
-#define SQL_SIMULATE_CURSOR                10
-#define SQL_RETRIEVE_DATA              11
-#define SQL_USE_BOOKMARKS              12
-#define SQL_GET_BOOKMARK               13      /* GetStmtOption Only */
-#define SQL_ROW_NUMBER                 14      /* GetStmtOption Only */
-#define SQL_STMT_OPT_MAX               SQL_ROW_NUMBER
-
-#define SQL_STMT_OPT_MIN               SQL_QUERY_TIMEOUT
-
-/*
- * ODBC 3.0 renames the above to SQL_ATTR_ values. At this time I don't
- * know if they have also been renumbered or not, I will assume not.
- */
-#define SQL_ATTR_QUERY_TIMEOUT         0
-#define SQL_ATTR_MAX_ROWS              1
-#define SQL_ATTR_NOSCAN                    2
-#define SQL_ATTR_MAX_LENGTH                3
-#define SQL_ATTR_ASYNC_ENABLE          4
-#define SQL_ATTR_BIND_TYPE             5
-#define SQL_ATTR_CURSOR_TYPE           6
-#define SQL_ATTR_CONCURRENCY           7
-#define SQL_ATTR_KEYSET_SIZE           8
-#define SQL_ATTR_ROWSET_SIZE           9
-#define SQL_ATTR_SIMULATE_CURSOR       10
-#define SQL_ATTR_RETRIEVE_DATA         11
-#define SQL_ATTR_USE_BOOKMARKS         12
-#define SQL_ATTR_GET_BOOKMARK          13      /* GetStmtOption Only */
-#define SQL_ATTR_ROW_NUMBER                14      /* GetStmtOption Only */
-
-/* New in ODBC 3.0 */
-#define SQL_ATTR_APP_PARAM_DESC            15
-#define SQL_ATTR_APP_ROW_DESC          16
-#define SQL_ATTR_CURSOR_SCROLLABLE     17
-#define SQL_ATTR_CURSOR_SENSITITY      18
-#define SQL_ATTR_ENABLE_AUTO_IPD       19
-#define SQL_ATTR_FETCH_BOOKMARK_PTR        20
-#define SQL_ATTR_IMP_PARAM_DESC            21
-#define SQL_ATTR_IMP_ROW_DESC          22
-#define SQL_ATTR_METADATA_ID           23
-#define SQL_ATTR_PARAM_BIND_OFFSET_PTR 24
-#define SQL_ATTR_PARAM_BIND_TYPE       25
-#define SQL_ATTR_PARAM_OPERATION_PTR   26
-#define SQL_ATTR_PARAM_STATUS_PTR      27
-#define SQL_ATTR_PARAMS_PROCESSED_PTR  28
-#define SQL_ATTR_PARAMSET_SIZE         29
-#define SQL_ATTR_ROW_ARRAY_SIZE            30
-#define SQL_ATTR_ROW_BIND_OFFSET_PTR   31
-#define SQL_ATTR_ROW_OPERATION_PTR     32
-#define SQL_ATTR_ROW_STATUS_PTR            33
-#define SQL_ATTR_ROWS_FETCHED_PTR      34
-
-#define SQL_STMT_ATTR_MIN              SQL_ATTR_QUERY_TIMEOUT
-#define SQL_STMT_ATTR_MAX              SQL_ATTR_ROWS_FETCHED_PTR
-
-/* SQL_QUERY_TIMEOUT options */
-#define SQL_QUERY_TIMEOUT_DEFAULT      0UL
-
-/* SQL_MAX_ROWS options */
-#define SQL_MAX_ROWS_DEFAULT           0UL
-
-/* SQL_MAX_LENGTH options */
-#define SQL_MAX_LENGTH_DEFAULT         0UL
-
-/* SQL_CONCURRENCY options */
-#define SQL_CONCUR_READ_ONLY           1
-#define SQL_CONCUR_LOCK                    2
-#define SQL_CONCUR_ROWVER              3
-#define SQL_CONCUR_VALUES              4
-
-/* options for SQLSetConnectOption/SQLGetConnectOption */
-#define SQL_ACCESS_MODE                    101
-#define SQL_AUTOCOMMIT                 102
-#define SQL_LOGIN_TIMEOUT              103
-#define SQL_OPT_TRACE                  104
-#define SQL_OPT_TRACEFILE              105
-#define SQL_TRANSLATE_DLL              106
-#define SQL_TRANSLATE_OPTION           107
-#define SQL_TXN_ISOLATION              108
-#define SQL_CURRENT_QUALIFIER          109
-#define SQL_ODBC_CURSORS               110
-#define SQL_QUIET_MODE                 111
-#define SQL_PACKET_SIZE                    112
-#define SQL_CONN_OPT_MAX               SQL_PACKET_SIZE
-#define SQL_CONNECT_OPT_DRVR_START     1000
-
-#define SQL_CONN_OPT_MIN               SQL_ACCESS_MODE
-
-/* SQL_ACCESS_MODE options */
-#define SQL_MODE_READ_WRITE                0UL
-#define SQL_MODE_READ_ONLY             1UL
-#define SQL_MODE_DEFAULT               SQL_MODE_READ_WRITE
-
-/* SQL_AUTOCOMMIT options */
-#define SQL_AUTOCOMMIT_OFF             0UL
-#define SQL_AUTOCOMMIT_ON              1UL
-#define SQL_AUTOCOMMIT_DEFAULT         SQL_AUTOCOMMIT_ON
-
-/* SQL_LOGIN_TIMEOUT options */
-#define SQL_LOGIN_TIMEOUT_DEFAULT      15UL
-
-/* SQL_OPT_TRACE options */
-#define SQL_OPT_TRACE_OFF              0UL
-#define SQL_OPT_TRACE_ON               1UL
-#define SQL_OPT_TRACE_DEFAULT          SQL_OPT_TRACE_OFF
-#define SQL_OPT_TRACE_FILE_DEFAULT     "odbc.log"
-
-/* SQL_ODBC_CURSORS options */
-#define SQL_CUR_USE_IF_NEEDED          0UL
-#define SQL_CUR_USE_ODBC               1UL
-#define SQL_CUR_USE_DRIVER             2UL
-#define SQL_CUR_DEFAULT                    SQL_CUR_USE_DRIVER
-
-/* Column types and scopes in SQLSpecialColumns. */
-#define SQL_BEST_ROWID                 1
-#define SQL_ROWVER                     2
-
-#define SQL_SCOPE_CURROW               0
-#define SQL_SCOPE_TRANSACTION          1
-#define SQL_SCOPE_SESSION              2
-
-
-/* SQLExtendedFetch flag values */
-#define SQL_FETCH_NEXT                 1
-#define SQL_FETCH_FIRST                    2
-#define SQL_FETCH_LAST                 3
-#define SQL_FETCH_PRIOR                    4
-#define SQL_FETCH_ABSOLUTE             5
-#define SQL_FETCH_RELATIVE             6
-#define SQL_FETCH_BOOKMARK             8
-
-/* Defines for SQLBindParameter/SQLProcedureColumns */
-#define SQL_PARAM_TYPE_UNKNOWN         0
-#define SQL_PARAM_INPUT                    1
-#define SQL_PARAM_INPUT_OUTPUT         2
-#define SQL_RESULT_COL                 3
-#define SQL_PARAM_OUTPUT               4
-#define SQL_RETURN_VALUE               5
-
-/* Defines used by Driver Manager for mapping SQLSetParam to SQLBindParameter */
-#define SQL_PARAM_TYPE_DEFAULT         SQL_PARAM_INPUT_OUTPUT
-#define SQL_SETPARAM_VALUE_MAX         (-1L)
-
-/* SQLStatistics flag values */
-#define SQL_INDEX_UNIQUE               0
-#define SQL_INDEX_ALL                  1
-
-#define SQL_QUICK                      0
-#define SQL_ENSURE                     1
-
-/* SQLSetScrollOption flag values */
-#define SQL_SCROLL_FORWARD_ONLY            0L
-#define SQL_SCROLL_KEYSET_DRIVEN       (-1L)
-#define SQL_SCROLL_DYNAMIC             (-2L)
-#define SQL_SCROLL_STATIC              (-3L)
-
-/* Everything below has been added to the original isqlext.h that comes
- * with iodbc.
-*/
-
-#define SCHAR  signed char
-#define FLOAT  float
-#define DOUBLE double
-
-/* SQL DATA TYPES */
-typedef UCHAR SQLCHAR;
-typedef SWORD SQLSMALLINT;
-typedef UWORD SQLUSMALLINT;
-typedef SDWORD SQLINTEGER;
-typedef UDWORD SQLUINTEGER;
-typedef FLOAT SQLREAL;
-typedef DOUBLE SQLDOUBLE;
-typedef DOUBLE SQLFLOAT;
-typedef SCHAR SQLSCHAR;
-typedef UDWORD BOOKMARK;
-
-#ifdef GCC                     /* Because I know GCC supports 64 bit ints */
-
-typedef long long int ODBCINT64;
-typedef unsigned ODBCINT64 SQLUBIGINT;
-typedef ODBCINT64 SQLBIGINT;
-
-#else                          /* Used even on platforms with 64 bit ints
-                                * but not GCC */
-
-typedef struct
-{
-   SQLUINTEGER dwLowWord;
-   SQLUINTEGER dwHighWord;
-} SQLUBIGINT;
-
-typedef struct
-{
-   SQLUINTEGER dwLowWord;
-   SQLINTEGER  dwHighWord;
-} SQLBIGINT;
-#endif   /* GCC */
-
-typedef struct tagDATE_STRUCT
-{
-   SQLSMALLINT year;
-   SQLUSMALLINT month;
-   SQLUSMALLINT day;
-} DATE_STRUCT,
-
-SQL_DATE_STRUCT;
-
-typedef struct tagTIME_STRUCT
-{
-   SQLUSMALLINT hour;
-   SQLUSMALLINT minute;
-   SQLUSMALLINT second;
-} TIME_STRUCT,
-
-SQL_TIME_STRUCT;
-
-typedef struct tagTIMESTAMP_STRUCT
-{
-   SQLSMALLINT year;
-   SQLUSMALLINT month;
-   SQLUSMALLINT day;
-   SQLUSMALLINT hour;
-   SQLUSMALLINT minute;
-   SQLUSMALLINT second;
-   SQLUINTEGER fraction;
-} TIMESTAMP_STRUCT,
-
-SQL_TIMESTAMP_STRUCT;
-
-/* postodbc doesn't use these but what the heck */
-/* Don't know what SQL_MAX_NUMERIC_LEN should be so I can't include this. It's
- * ODBC 3.0 anyway.
-
-typedef struct tagSQL_NUMERIC_STRUCT {
-   SQLCHAR     precision;
-   SQLSCHAR    scale;
-   SQLCHAR     sign;
-   SQLCHAR     val[SQL_MAX_NUMERIC_LEN];
-} SQL_NUMERIC_STRUCT;
-
-*/
-
-typedef struct tagSQLGUID
-{
-   DWORD       Data1;
-   WORD        Data2;
-   WORD        Data3;
-   BYTE        Data4[8];
-} SQLGUID;
-
-typedef enum
-{
-   SQL_IS_YEAR = 1,
-   SQL_IS_MONTH = 2,
-   SQL_IS_DAY = 3,
-   SQL_IS_HOUR = 4,
-   SQL_IS_MINUTE = 5,
-   SQL_IS_SECOND = 6,
-   SQL_IS_YEAR_TO_MONTH = 7,
-   SQL_IS_DAY_TO_HOUR = 8,
-   SQL_IS_DAY_TO_MINUTE = 9,
-   SQL_IS_DAY_TO_SECOND = 10,
-   SQL_IS_HOUR_TO_MINUTE = 11,
-   SQL_IS_HOUR_TO_SECOND = 12,
-   SQL_IS_MINUTE_TO_SECOND = 13
-} SQLINTERVAL;
-
-typedef struct tagSQL_YEAR_MONTH
-{
-   SQLUINTEGER year;
-   SQLUINTEGER month;
-} SQL_YEAR_MONTH_STRUCT;
-
-typedef struct tagSQL_DAY_SECOND
-{
-   SQLUINTEGER day;
-   SQLUINTEGER hour;
-   SQLUINTEGER minute;
-   SQLUINTEGER second;
-   SQLUINTEGER fraction;
-} SQL_DAY_SECOND_STRUCT;
-
-typedef struct tagSQL_INTERVAL_STRUCT
-{
-   SQLINTERVAL interval_type;
-   SQLSMALLINT interval_sign;
-   union
-   {
-       SQL_YEAR_MONTH_STRUCT year_month;
-       SQL_DAY_SECOND_STRUCT day_second;
-   }           intval;
-} SQL_INTERVAL_STRUCT;
-
-#define SQL_MAX_OPTION_STRING_LENGTH   256
-#define SQL_NUM_EXTENSIONS (SQL_EXT_API_LAST - SQL_EXT_API_START + 1)
-
-/* defines for SQL datatypes */
-/*
-#define SQL_TYPE_DATE
-#define SQL_TYPE_TIME
-#define SQL_TYPE_TIMESTAMP
-#define SQL_CODE_DATE
-#define SQL_CODE_TIME
-#define SQL_CODE_TIMESTAMP
-#define SQL_CODE_MONTH
-#define SQL_CODE_YEAR
-#define SQL_CODE_YEAR_TO_MONTH
-#define SQL_CODE_DAY
-#define SQL_CODE_HOUR
-#define SQL_CODE_MINUTE
-#define SQL_CODE_SECOND
-#define SQL_CODE_DAY_TO_HOUR
-#define SQL_CODE_DAY_TO_MINUTE
-#define SQL_CODE_DAY_TO_SECOND
-#define SQL_CODE_HOUR_TO_MINUTE
-#define SQL_CODE_HOUR_TO_SECOND
-#define SQL_CODE_MINUTE_TO_SECOND
-*/
-#define SQL_INTERVAL_YEAR              (-80)
-#define SQL_INTERVAL_MONTH             (-81)
-#define SQL_INTERVAL_YEAR_TO_MONTH     (-82)
-#define SQL_INTERVAL_DAY               (-83)
-#define SQL_INTERVAL_HOUR              (-84)
-#define SQL_INTERVAL_MINUTE                (-85)
-#define SQL_INTERVAL_SECOND                (-86)
-#define SQL_INTERVAL_DAY_TO_HOUR       (-87)
-#define SQL_INTERVAL_DAY_TO_MINUTE     (-88)
-#define SQL_INTERVAL_DAY_TO_SECOND     (-89)
-#define SQL_INTERVAL_HOUR_TO_MINUTE        (-90)
-#define SQL_INTERVAL_HOUR_TO_SECOND        (-91)
-#define SQL_INTERVAL_MINUTE_TO_SECOND  (-92)
-
-#define SQL_UNICODE                        (-95)
-#define SQL_UNICODE_VARCHAR                (-96)
-#define SQL_UNICODE_LONGVARCHAR            (-97)
-#define SQL_UNICODE_CHAR               SQL_UNICODE
-
-/* C to SQL data types */
-/*
-#define SQL_C_TYPE_DATE                    SQL_TYPE_DATE
-#define SQL_C_TYPE_TIME                    SQL_TYPE_TIME
-#define SQL_C_TYPE_TIMESTAMP           SQL_TYPE_TIMESTAMP
-#define SQL_C_GUID                     SQLGUID
-*/
-#define SQL_C_INTERVAL_MONTH           SQL_INTERVAL_MONTH
-#define SQL_C_INTERVAL_YEAR                SQL_INTERVAL_YEAR
-#define SQL_C_INTERVAL_YEAR_TO_MONTH   SQL_INTERVAL_YEAR_TO_MONTH
-#define SQL_C_INTERVAL_DAY             SQL_INTERVAL_DAY
-#define SQL_C_INTERVAL_HOUR                SQL_INTERVAL_HOUR
-#define SQL_C_INTERVAL_MINUTE          SQL_INTERVAL_MINUTE
-#define SQL_C_INTERVAL_SECOND          SQL_INTERVAL_SECOND
-#define SQL_C_INTERVAL_DAY_TO_HOUR     SQL_INTERVAL_DAY_TO_HOUR
-#define SQL_C_INTERVAL_DAY_TO_MINUTE   SQL_INTERVAL_DAY_TO_MINUTE
-#define SQL_C_INTERVAL_DAY_TO_SECOND   SQL_INTERVAL_DAY_TO_SECOND
-#define SQL_C_INTERVAL_HOUR_TO_MINUTE  SQL_INTERVAL_HOUR_TO_MINUTE
-#define SQL_C_INTERVAL_HOUR_TO_SECOND  SQL_INTERVAL_HOUR_TO_SECOND
-#define SQL_C_INTERVAL_MINUTE_TO_SECOND SQL_INTERVAL_MINUTE_TO_SECOND
-#define SQL_C_NUMERIC                  SQL_NUMERIC
-#define SQL_C_VARBOOKMARK              SQL_C_BINARY
-#define SQL_C_SBIGINT                  (SQL_BIGINT + SQL_SIGNED_OFFSET)
-#define SQL_C_UBIGINT                  (SQL_BIGINT + SQL_UNSIGNED_OFFSET)
-
-#define SQL_TRUE   1UL
-#define SQL_FALSE  0UL
-
-/* SQLGetData */
-#define SQL_NO_TOTAL                   (-4)
-
-/* SQLBindParameter */
-#define SQL_LEN_DATA_AT_EXEC_OFFSET        (-100)
-#define SQL_LEN_DATA_AT_EXEC(length)   (-length+SQL_LEN_DATA_AT_EXEC_OFFSET)
-
-#define SQL_LEN_BINARY_ATTR_OFFSET     (-100)
-#define SQL_LEN_BINARY_ATTR(length)        (-(length)+SQL_LEN_BINARY_ATTR_OFFSET)
-
-/* SQLExtendedFetch - row status */
-#define SQL_ROW_SUCCESS                    0
-#define SQL_ROW_DELETED                    1
-#define SQL_ROW_UPDATED                    2
-#define SQL_ROW_NOROW                  3
-#define SQL_ROW_ADDED                  4
-#define SQL_ROW_ERROR                  5
-
-/* SQLForeignKeys - rule flags */
-#define SQL_CASCADE                        0
-#define SQL_RESTRICT                   1
-#define SQL_SET_NULL                   2
-#define SQL_NO_ACTION                  3       /* ODBC 3.0 */
-#define SQL_SET_DEFAULT                    4
-
-/* SQLForeignKeys - Deferrability (ODBC 3.0) */
-#define SQL_INITIALLY_DEFERRED         5
-#define SQL_INITIALLY_IMMEDIATE            6
-#define SQL_NOT_DEFFERABLE             2
-
-/* Constants not in isqlext.h but needed by the driver. I have no idea
-* if these correspond correctly with those from Microsoft or not. I don't
-* know that it matters as long as the symbolic names are used. I simply
-* assigned the numbers in the order they appear in the SQLGetInfo function
-* of postodbc.
-*/
-
-/*
- * SQLGetInfo
- */
-#define SQL_ACTIVE_CONNECTIONS         0
-#define SQL_ACTIVE_STATEMENTS          1
-#define SQL_DATA_SOURCE_NAME           2
-#define SQL_DRIVER_VER                 7
-#define SQL_FETCH_DIRECTION                8
-#define SQL_ODBC_API_CONFORMANCE       9
-#define SQL_ROW_UPDATES                    11
-#define SQL_ODBC_SAG_CLI_CONFORMANCE   12
-#define SQL_SERVER_NAME                    13
-#define SQL_SEARCH_PATTERN_ESCAPE      14
-#define SQL_ODBC_SQL_CONFORMANCE       15
-#define SQL_DBMS_NAME                  17
-#define SQL_DBMS_VER                   18
-#define SQL_ACCESSIBLE_TABLES          19
-#define SQL_ACCESSIBLE_PROCEDURES      20
-#define SQL_PROCEDURES                 21
-#define SQL_CONCAT_NULL_BEHAVIOR       22
-#define SQL_DATA_SOURCE_READ_ONLY      25
-#define SQL_EXPRESSIONS_IN_ORDERBY     27
-#define SQL_IDENTIFIER_CASE                28
-#define SQL_IDENTIFIER_QUOTE_CHAR      29
-#define SQL_MAX_COLUMN_NAME_LEN            30
-#define SQL_MAX_CURSOR_NAME_LEN            31
-#define SQL_MAX_OWNER_NAME_LEN         32
-#define SQL_MAX_PROCEDURE_NAME_LEN     33
-#define SQL_MAX_QUALIFIER_NAME_LEN     34
-#define SQL_MAX_TABLE_NAME_LEN         35
-#define SQL_MULT_RESULT_SETS           36
-#define SQL_MULTIPLE_ACTIVE_TXN            37
-#define SQL_OUTER_JOINS                    38
-#define SQL_OWNER_TERM                 39
-#define SQL_PROCEDURE_TERM             40
-#define SQL_QUALIFIER_NAME_SEPARATOR   41
-#define SQL_QUALIFIER_TERM             42
-#define SQL_SCROLL_CONCURRENCY         43
-#define SQL_SCROLL_OPTIONS             44
-#define SQL_TABLE_TERM                 45
-#define SQL_TXN_CAPABLE                    46
-#define SQL_USER_NAME                  47
-#define SQL_CONVERT_FUNCTIONS          48
-#define SQL_NUMERIC_FUNCTIONS          49
-#define SQL_STRING_FUNCTIONS           50
-#define SQL_SYSTEM_FUNCTIONS           51
-#define SQL_TIMEDATE_FUNCTIONS         52
-#define SQL_CONVERT_BIGINT             53
-#define SQL_CONVERT_BINARY             54
-#define SQL_CONVERT_BIT                    55
-#define SQL_CONVERT_CHAR               56
-#define SQL_CONVERT_DATE               57
-#define SQL_CONVERT_DECIMAL                58
-#define SQL_CONVERT_DOUBLE             59
-#define SQL_CONVERT_FLOAT              60
-#define SQL_CONVERT_INTEGER                61
-#define SQL_CONVERT_LONGVARCHAR            62
-#define SQL_CONVERT_NUMERIC                63
-#define SQL_CONVERT_REAL               64
-#define SQL_CONVERT_SMALLINT           65
-#define SQL_CONVERT_TIME               66
-#define SQL_CONVERT_TIMESTAMP          67
-#define SQL_CONVERT_TINYINT                68
-#define SQL_CONVERT_VARBINARY          69
-#define SQL_CONVERT_VARCHAR                70
-#define SQL_CONVERT_LONGVARBINARY      71
-#define SQL_ODBC_SQL_OPT_IEF           73
-#define SQL_CORRELATION_NAME           74
-#define SQL_LOCK_TYPES                 78
-#define SQL_POS_OPERATIONS             79
-#define SQL_POSITIONED_STATEMENTS      80
-#define SQL_GETDATA_EXTENSIONS         81
-#define SQL_BOOKMARK_PERSISTENCE       82
-#define SQL_STATIC_SENSITIVITY         83
-#define SQL_FILE_USAGE                 84
-#define SQL_NULL_COLLATION             85
-#define SQL_ALTER_TABLE                    86
-#define SQL_COLUMN_ALIAS               87
-#define SQL_GROUP_BY                   88
-#define SQL_KEYWORDS                   89
-#define SQL_ORDER_BY_COLUMNS_IN_SELECT 90
-#define SQL_OWNER_USAGE                    91
-#define SQL_QUALIFIER_USAGE                92
-#define SQL_QUOTED_IDENTIFIER_CASE     93
-#define SQL_SPECIAL_CHARACTERS         94
-#define SQL_SUBQUERIES                 95
-#define SQL_UNION                      96
-#define SQL_MAX_COLUMNS_IN_GROUP_BY        97
-#define SQL_MAX_COLUMNS_IN_INDEX       98
-#define SQL_MAX_COLUMNS_IN_ORDER_BY        99
-#define SQL_MAX_COLUMNS_IN_SELECT      100
-#define SQL_MAX_COLUMNS_IN_TABLE       101
-#define SQL_MAX_INDEX_SIZE             102
-#define SQL_MAX_ROW_SIZE_INCLUDES_LONG 103
-#define SQL_MAX_ROW_SIZE               104
-#define SQL_MAX_STATEMENT_LEN          105
-#define SQL_MAX_TABLES_IN_SELECT       106
-#define SQL_MAX_USER_NAME_LEN          107
-#define SQL_MAX_CHAR_LITERAL_LEN       108
-#define SQL_TIMEDATE_ADD_INTERVALS     109
-#define SQL_TIMEDATE_DIFF_INTERVALS        110
-#define SQL_NEED_LONG_DATA_LEN         111
-#define SQL_MAX_BINARY_LITERAL_LEN     112
-#define SQL_LIKE_ESCAPE_CLAUSE         113
-
-#define SQL_OJ_CAPABILITIES                65003
-/* ODBC 3.0 alias */
-#define SQL_MAX_SCHEMA_NAME_LEN            SQL_MAX_OWNER_NAME_LEN
-
-/* Bit Masks describing the behaviour of the GetInfo functions named above */
-/*
- * alter table behaviour(4 byte val)
- */
-#define SQL_AT_ADD_COLUMN              0x00000001L
-#define SQL_AT_DROP_COLUMN             0x00000002L
-
-/*
- * BookMark Persistence, a SQLUINTEGER bitmask(ie 4 bytes)
-*/
-#define SQL_BP_CLOSE                   0x00000001L
-#define SQL_BP_DELETE                  0x00000002L
-#define SQL_BP_DROP                        0x00000004L
-#define SQL_BP_TRANSACTION             0x00000008L
-#define SQL_BP_UPDATE                  0x00000010L
-#define SQL_BP_OTHER_HSTMT             0x00000020L
-#define SQL_BP_SCROLL                  0x00000040L
-
-/*
- * Conversion bitmasks for testing which conversions are supported by
- * the driver. An application compares the returned bitmask with these
- * to determine which conversions are supported. The driver ANDS these
- * for the returned bitmask to indicate the supported conversions.(type
- * is SQLUINTEGER, i.e. 4 bytes). Note that these masks are defined in
- * alphabetical order, I have no idea if this maps to MS's SDK.
- */
-#define SQL_CVT_CHAR                   0x00000001L
-#define SQL_CVT_NUMERIC                    0x00000002L
-#define SQL_CVT_DECIMAL                    0x00000004L
-#define SQL_CVT_INTEGER                    0x00000008L
-#define SQL_CVT_SMALLINT               0x00000010L
-#define SQL_CVT_FLOAT                  0x00000020L
-#define SQL_CVT_REAL                   0x00000040L
-#define SQL_CVT_DOUBLE                 0x00000080L
-#define SQL_CVT_VARCHAR                    0x00000100L
-#define SQL_CVT_LONGVARCHAR                0x00000200L
-#define SQL_CVT_BINARY                 0x00000400L
-#define SQL_CVT_VARBINARY              0x00000800L
-#define SQL_CVT_BIT                        0x00001000L
-#define SQL_CVT_TINYINT                    0x00002000L
-#define SQL_CVT_BIGINT                 0x00004000L
-#define SQL_CVT_DATE                   0x00008000L
-#define SQL_CVT_TIME                   0x00010000L
-#define SQL_CVT_TIMESTAMP              0x00020000L
-#define SQL_CVT_LONGVARBINARY          0x00040000L
-
-
-/* extras added in ODBC 3.0 */
-#define SQL_CVT_INTERVAL_YEAR_MONTH        0x00080000L
-#define SQL_CVT_INTERVAL_DAY_TIME      0x00100000L
-
-/*
- * concat null behaviour(2 byte val)
- */
-#define SQL_CB_NULL                        0x0000
-#define SQL_CB_NON_NULL                    0x0001
-
-/*
- * correlation name
- */
-#define SQL_CN_NONE                        0x0000
-#define SQL_CN_DIFFERENT               0x0001
-#define SQL_CN_ANY                     0x0002
-
-/*
- * Fetch Direction. A SQLINTEGER bitmask enumerating the supported fetch
- * direction options. This information type has been deprecated in
- * ODBC 3.0.
- */
-#define SQL_FD_FETCH_NEXT              0x00000001L
-#define SQL_FD_FETCH_FIRST             0x00000002L
-#define SQL_FD_FETCH_LAST              0x00000004L
-#define SQL_FD_FETCH_PRIOR             0x00000008L
-#define SQL_FD_FETCH_ABSOLUTE          0x00000010L
-#define SQL_FD_FETCH_RELATIVE          0x00000020L
-#define SQL_FD_FETCH_RESUME                0x00000040L
-#define SQL_FD_FETCH_BOOKMARK          0x00000080L
-
-/*
- * Conversion bitmasks for testing which function conversions are supported by
- * the driver. An application compares the returned bitmask with these
- * to determine which conversions are supported. The driver ANDS these
- * for the returned bitmask to indicate the supported conversions.(type
- * is SQLUINTEGER, i.e. 4 bytes). Note that these masks are defined in
- * alphabetical order, I have no idea if this maps to MS's SDK.
- */
-#define SQL_FN_CVT_CONVERT             0x00000001L
-#define SQL_FN_CVT_CAST                    0x00000002L
-
-/*
- * File Usage. A SQLUSMALLINT indicating how a singel-tier driver treats
- * files in a data source.
- */
-#define SQL_FILE_NOT_SUPPORTED         0x0000
-#define SQL_FILE_TABLE                 0x0001
-#define SQL_FILE_QUALIFIER             0x0002
-#define SQL_FILE_CATALOG               SQL_FILE_CATALOG
-
-/*
- * GetData Extensions. A SQLUINTEGER(4 bytes) bitmask enumerating extensions
- * to SQLGetData.
- */
-#define SQL_GD_ANY_COLUMN              0x00000001L
-#define SQL_GD_ANY_ORDER               0x00000002L
-#define SQL_GD_BLOCK                   0x00000004L
-#define SQL_GD_BOUND                   0x00000008L
-
-/*
- * Group By. A SQLUSMALLINT value specifying the relationship between the
- * columns in the GROUP BY clause and the non-aggregated columns in the
- * select list.
-*/
-#define SQL_GB_NOT_SUPPORTED           0x0000
-#define SQL_GB_GROUP_BY_EQUALS_SELECT  0x0001
-#define SQL_GB_GROUP_BY_CONTAINS_SELECT 0x0002
-#define SQL_GB_NO_RELATION             0x0003
-
-/* added in ODBC 3.0 */
-#define SQL_GB_COLLATE                 0x0004
-
-/*
- * Identifier Case. A SQLUSMALLINT indicating how identifiers are handled.
- */
-#define SQL_IC_UPPER                   0x0001
-#define SQL_IC_LOWER                   0x0002
-#define SQL_IC_SENSITIVE               0x0003
-#define SQL_IC_MIXED                   0x0004
-
-/*
- * Lock types. A SQLINTEGER bitmask enumerating the supported lock types for
- * the fLock argument in SQLSetPos. Depreciated in 3.0.
- */
-#define SQL_LCK_NO_CHANGE              0x00000001L
-#define SQL_LCK_EXCLUSIVE              0x00000002L
-#define SQL_LCK_UNLOCK                 0x00000004L
-
-/*
- * Non Nullable Columns. A SQLUSMALLINT value indicating if the data source
- * supports NOT NULL in columns.
- */
-#define SQL_NNC_NULL                   0x0000
-#define SQL_NNC_NON_NULL               0x0001
-
-/*
- * Null Collation. A SQLUSMALLINT value specifying where NULLS are sorted in
- * a result set.
- */
-#define SQL_NC_HIGH                        0x0001
-#define SQL_NC_LOW                     0x0003
-#define SQL_NC_START                   0x0002
-#define SQL_NC_END                     0x0004
-
-/*
- * Numeric Functions. A SQLUINTEGER bitmask enumerating the scalar numeric
- * functions supported by the driver and associated data source.
- */
-#define SQL_FN_NUM_ABS                 0x00000001L
-#define SQL_FN_NUM_ACOS                    0x00000002L
-#define SQL_FN_NUM_ASIN                    0x00000004L
-#define SQL_FN_NUM_ATAN                    0x00000008L
-#define SQL_FN_NUM_ATAN2               0x00000010L
-#define SQL_FN_NUM_CEILING             0x00000020L
-#define SQL_FN_NUM_COS                 0x00000040L
-#define SQL_FN_NUM_COT                 0x00000080L
-#define SQL_FN_NUM_EXP                 0x00000100L
-#define SQL_FN_NUM_FLOOR               0x00000200L
-#define SQL_FN_NUM_LOG                 0x00000400L
-#define SQL_FN_NUM_MOD                 0x00000800L
-#define SQL_FN_NUM_SIGN                    0x00001000L
-#define SQL_FN_NUM_SIN                 0x00002000L
-#define SQL_FN_NUM_SQRT                    0x00004000L
-#define SQL_FN_NUM_TAN                 0x00008000L
-#define SQL_FN_NUM_PI                  0x00010000L
-#define SQL_FN_NUM_RAND                    0x00020000L
-
-/* Added in ODBC 2.0 */
-#define SQL_FN_NUM_DEGREES             0x00040000L
-#define SQL_FN_NUM_LOG10               0x00080000L
-#define SQL_FN_NUM_POWER               0x00100000L
-#define SQL_FN_NUM_RADIANS             0x00200000L
-#define SQL_FN_NUM_ROUND               0x00400000L
-#define SQL_FN_NUM_TRUNCATE                0x00800000L
-
-/*
- * Outer Join Capabilites. A SQLUINTEGER bitmask enumerating the types of
- * outer joins supported by the driver and data source.
- */
-#define SQL_OJ_LEFT                        0x00000001L
-#define SQL_OJ_RIGHT                   0x00000002L
-#define SQL_OJ_FULL                        0x00000004L
-#define SQL_OJ_NESTED                  0x00000008L
-#define SQL_OJ_NOT_ORDERED             0x00000010L
-#define SQL_OJ_INNER                   0x00000020L
-#define SQL_OJ_ALL_COMPARISON_OPS      0x00000040L
-
-/*
- * ODBC API Conformance. A SQLSMALLINT value indicating a drivers ODBC
- * level conformance. Depreciated in 3.0.
- */
-#define SQL_OAC_NONE                   0x0000
-#define SQL_OAC_LEVEL1                 0x0001
-#define SQL_OAC_LEVEL2                 0x0002
-
-/*
- * ODBC SAG CLI Conformance. A SQLSMALLINT value indicating a drivers
- * SAG CLI conformance.
- */
-#define SQL_OSCC_NOT_COMPLIANT         0x0000
-#define SQL_OSCC_COMPLIANT             0x0001
-
-/*
- * ODBC SQL Conformance. A SQLSMALLINT value indicating a drivers SQL
- * grammar support. Depreciated in 3.0.
- */
-#define SQL_OSC_MINIMUM                    0x0000
-#define SQL_OSC_CORE                   0x0001
-#define SQL_OSC_EXTENDED               0x0002
-
-/*
- * Owner Usage. A SQLUINTEGER bitmask.
- */
-#define SQL_OU_DML_STATEMENTS          0x00000001L
-#define SQL_OU_PROCEDURE_INVOCATION        0x00000002L
-#define SQL_OU_TABLE_DEFINITION            0x00000004L
-#define SQL_OU_INDEX_DEFINITION            0x00000008L
-#define SQL_OU_PRIVILEGE_DEFINITION        0x00000010L
-
-/*
- * Schema Usage. A SQLUINTEGER bitmask enumerating the statements in which
- * schemas can be used. Renamed in ODBC 3.0 from SQL_OWNER_USAGE
- */
-#define SQL_SU_DML_STATEMENTS          SQL_OU_DML_STATEMENTS
-#define SQL_SU_PROCEDURE_INVOCATION        SQL_OU_PROCEDURE_INVOCATION
-#define SQL_SU_TABLE_DEFINITION            SQL_OU_TABLE_DEFINITION
-#define SQL_SU_INDEX_DEFINITION            SQL_OU_INDEX_DEFINITION
-#define SQL_SU_PRIVILEGE_DEFINITION        SQL_OU_PRIVILEGE_DEFINITION
-
-/*
- * Pos. Operations. A SQLINTEGER bitmask enumerating the supported operations
- * in SQLSetPos. Depreciated in ODBC 3.0.
- */
-#define SQL_POS_POSITION               0x00000001L
-#define SQL_POS_REFRESH                    0x00000002L
-#define SQL_POS_UPDATE                 0x00000004L
-#define SQL_POS_DELETE                 0x00000008L
-#define SQL_POS_ADD                        0x00000010L
-
-/*
- * SQLSetPos
- */
-#define SQL_ENTIRE_ROWSET              0
-
-#define SQL_POSITION                   0
-#define SQL_REFRESH                        1
-#define SQL_UPDATE                     2
-#define SQL_DELETE                     3
-#define SQL_ADD                            4
-
-/*
- * SQLSetPos Lock options
-*/
-#define SQL_LOCK_NO_CHANGE             0
-#define SQL_LOCK_EXCLUSIVE             1
-#define SQL_LOCK_UNLOCK                    2
-
-#define SQL_POSITION_TO(hstmt,irow)        \
-   SQLSetPos(hstmt,irow,SQL_POSITION,SQL_LOCK_NO_CHANGE)
-#define SQL_LOCK_RECORD(hstmt,irow,fLock) \
-   SQLSetPos(hstmt,irow,SQL_POSITION,fLock)
-#define SQL_REFRESH_RECORD(hstmt,irow,fLock) \
-   SQLSetPos(hstmt,irow,SQL_REFRESH,fLock)
-#define SQL_UPDATE_RECORD(hstmt,irow) \
-   SQLSetPos(hstmt,irow,SQL_UPDATE,SQL_LOCK_NO_CHANGE)
-#define SQL_DELETE_RECORD(hstmt,irow) \
-   SQLSetPos(hstmt,irow,SQL_DELETE,SQL_LOCK_NO_CHANGE)
-#define SQL_ADD_RECORD(hstmt,irow) \
-   SQLSetPos(hstmt,irow,SQL_ADD,SQL_LOCK_NO_CHANGE)
-
-/*
- * Positioned Statements. A SQLINTEGER bitmask enumerating the supported
- * positioned SQL statements.
- */
-#define SQL_PS_POSITIONED_DELETE       0x00000001L
-#define SQL_PS_POSITIONED_UPDATE       0x00000002L
-#define SQL_PS_SELECT_FOR_UPDATE       0x00000004L
-
-/* Qualifier Location. A SQLUSMALLINT value indicating the position of the
- * catalog in a qualified table name.
- */
-#define SQL_QL_START                   0x0001
-#define SQL_QL_END                     0x0002
-
-/*
- * Qualifier Usage. A SQLUINTEGER bitmask.
- */
-#define SQL_QU_DML_STATEMENTS          0x00000001L
-#define SQL_QU_PROCEDURE_INVOCATION        0x00000002L
-#define SQL_QU_TABLE_DEFINITION            0x00000004L
-#define SQL_QU_INDEX_DEFINITION            0x00000008L
-#define SQL_QU_PRIVILEGE_DEFINITION        0x00000010L
-
-/* The above is renamed in ODBC 3.0 to Catalog Usage. */
-#define SQL_CU_DML_STATEMENTS          SQL_QU_DML_STATEMENTS
-#define SQL_CU_PROCEDURE_INVOCATION        SQL_QU_PROCEDURE_INVOCATION
-#define SQL_CU_TABLE_DEFINITION            SQL_QU_TABLE_DEFINITION
-#define SQL_CU_INDEX_DEFINITION            SQL_QU_INDEX_DEFINITION
-#define SQL_CU_PRIVILEGE_DEFINITION        SQL_QU_PRIVILEGE_DEFINITION
-
-/* ODBC 3.0 renamed the above to Catalog Location. */
-#define SQL_CL_START                   SQL_QL_START
-#define SQL_CL_END                     SQL_QL_END
-
-/*
- * Scroll Concurrency. A SQLINTEGER bitmask enumerating the concurrency
- * control options supported for the cursor. Depreciated in ODBC 3.0.
- */
-#define SQL_SCCO_READ_ONLY             0x00000001L
-#define SQL_SCCO_LOCK                  0x00000002L
-#define SQL_SCCO_OPT_ROWVER                0x00000004L
-#define SQL_SCCO_OPT_VALUES                0x00000008L
-
-
-/*
- * Scroll Options. A SQLUINTEGER bitmask enumerating the scroll options
- * supported for scrollable cursors.
- */
-#define SQL_SO_FORWARD_ONLY                0x00000001L
-#define SQL_SO_KEYSET_DRIVEN           0x00000002L
-#define SQL_SO_DYNAMIC                 0x00000004L
-#define SQL_SO_MIXED                   0x00000008L
-#define SQL_SO_STATIC                  0x00000010L
-
-/*
- * Static Sensitity. A SQLINTEGER bitmask enumerating whether changes made
- * by an application to a static or keyset-driven cursor through SQLSetPos
- * or positioned update or delete statements can be detected by that
- * application.
- */
-#define SQL_SS_ADDITIONS               0x00000001L
-#define SQL_SS_DELETIONS               0x00000002L
-#define SQL_SS_UPDATES                 0x00000004L
-
-/*
- * String Functions. A SQLUINTEGER bitmask enumerating the scalar string
- * functions supported by the driver and associated data source.
- */
-#define SQL_FN_STR_CONCAT              0x00000001L
-#define SQL_FN_STR_INSERT              0x00000002L
-#define SQL_FN_STR_LEFT                    0x00000004L
-#define SQL_FN_STR_LTRIM               0x00000008L
-#define SQL_FN_STR_LENGTH              0x00000010L
-#define SQL_FN_STR_LOCATE              0x00000020L
-#define SQL_FN_STR_LCASE               0x00000040L
-#define SQL_FN_STR_REPEAT              0x00000080L
-#define SQL_FN_STR_REPLACE             0x00000100L
-#define SQL_FN_STR_RIGHT               0x00000200L
-#define SQL_FN_STR_RTRIM               0x00000400L
-#define SQL_FN_STR_SUBSTRING           0x00000800L
-#define SQL_FN_STR_UCASE               0x00001000L
-#define SQL_FN_STR_ASCII               0x00002000L
-#define SQL_FN_STR_CHAR                    0x00004000L
-#define SQL_FN_STR_DIFFERENCE          0x00008000L
-#define SQL_FN_STR_LOCATE_2                0x00010000L
-#define SQL_FN_STR_SOUNDEX             0x00020000L
-#define SQL_FN_STR_SPACE               0x00040000L
-
-/* introduced in ODBC 3.0 */
-#define SQL_FN_STR_BIT_LENGTH          0x00080000L
-#define SQL_FN_STR_CHAR_LENGTH         0x00100000L
-#define SQL_FN_STR_CHARACTER_LENGTH        0x00200000L
-#define SQL_FN_STR_OCTET_LENGTH            0x00400000L
-#define SQL_FN_STR_POSITION                0x00800000L
-
-/*
- * Subqueries. A SQLUINTEGER bitmask enumerating the predicates that support
- * subqueries.
- */
-#define SQL_SQ_COMPARISON              0x00000001L
-#define SQL_SQ_EXISTS                  0x00000002L
-#define SQL_SQ_IN                      0x00000004L
-#define SQL_SQ_QUANTIFIED              0x00000008L
-#define SQL_SQ_CORRELATED_SUBQUERIES   0x00000010L
-
-/*
- * System Functions. A SQLUINTEGER bitmask enumerating the scalar system
- * functions supported by the driver and associated data source.
- */
-#define SQL_FN_SYS_USERNAME                0x00000001L
-#define SQL_FN_SYS_DBNAME              0x00000002L
-#define SQL_FN_SYS_IFNULL              0x00000004L
-
-/*
- * Time-Date add and diff intervals. A SQLUINTEGER bitmask enumerating the
- * timestamp intervals supported by the driver and associated data source
- * for the TIMESTAMPADD and TIMESTAMPDIFF scalar function.
- */
-#define SQL_FN_TSI_FRAC_SECOND         0x00000001L
-#define SQL_FN_TSI_SECOND              0x00000002L
-#define SQL_FN_TSI_MINUTE              0x00000004L
-#define SQL_FN_TSI_HOUR                    0x00000008L
-#define SQL_FN_TSI_DAY                 0x00000010L
-#define SQL_FN_TSI_WEEK                    0x00000020L
-#define SQL_FN_TSI_MONTH               0x00000040L
-#define SQL_FN_TSI_QUARTER             0x00000080L
-#define SQL_FN_TSI_YEAR                    0x00000100L
-
-/*
- * Time/Date functions. A SQLUINTEGER bitmask enumerating the scalar date
- * and time functions supported by the driver and associated data source.
- */
-#define SQL_FN_TD_NOW                  0x00000001L
-#define SQL_FN_TD_CURDATE              0x00000002L
-#define SQL_FN_TD_DAYOFMONTH           0x00000004L
-#define SQL_FN_TD_DAYOFWEEK                0x00000008L
-#define SQL_FN_TD_DAYOFYEAR                0x00000010L
-#define SQL_FN_TD_MONTH                    0x00000020L
-#define SQL_FN_TD_QUARTER              0x00000040L
-#define SQL_FN_TD_WEEK                 0x00000080L
-#define SQL_FN_TD_YEAR                 0x00000100L
-#define SQL_FN_TD_CURTIME              0x00000200L
-#define SQL_FN_TD_HOUR                 0x00000400L
-#define SQL_FN_TD_MINUTE               0x00000800L
-#define SQL_FN_TD_SECOND               0x00001000L
-#define SQL_FN_TD_TIMESTAMPADD         0x00002000L
-#define SQL_FN_TD_TIMESTAMPDIFF            0x00004000L
-#define SQL_FN_TD_DAYNAME              0x00008000L
-#define SQL_FN_TD_MONTHNAME                0x00010000L
-
-/* Added in ODBC 3.0 */
-#define SQL_FN_TD_CURRENT_DATE         0x00020000L
-#define SQL_FN_TD_CURRENT_TIME         0x00040000L
-#define SQL_FN_TD_CURRENT_TIMESTAMP        0x00080000L
-#define SQL_FN_TD_EXTRACT              0x00100000L
-
-/*
- * Transaction Capable. A SQLUSMALLINT value describing the transaction
- * support in the driver or data source.
- */
-#define SQL_TC_NONE                        0x0000
-#define SQL_TC_DML                     0x0001
-#define SQL_TC_ALL                     0x0002
-#define SQL_TC_DDL_COMMIT              0x0003
-#define SQL_TC_DDL_IGNORE              0x0004
-
-/*
- * Unions. A SQLUINTEGER bitmask enumerating the support for the UNION
- * clause.
- */
-#define SQL_U_UNION                        0x00000001L
-#define SQL_U_UNION_ALL                    0x00000002L
-
-
-/* SQLStatistics: Type, Smallint */
-#define SQL_TABLE_STAT                 0
-#define SQL_INDEX_CLUSTERED                1
-#define SQL_INDEX_HASHED               2
-#define SQL_INDEX_OTHER                    3
-
-/* SQLProcedures: Type: Smallint */
-#define SQL_PT_UNKNOWN                 0
-#define SQL_PT_PROCEDURE               1
-#define SQL_PT_FUNCTION                    2
-
-/* SQLSpecialColumns: PSEUDO_COLUMN: Smallint */
-#define SQL_PC_UNKNOWN                 0
-#define SQL_PC_PSEUDO                  1
-#define SQL_PC_NOT_PSEUDO              2
-
-/* SQLSet/Get/StmtOptions: ASYNC_ENABLE. A SQLUINTEGER */
-#define SQL_ASYNC_ENABLE_OFF           0UL
-#define SQL_ASYNC_ENABLE_ON                1UL
-#define SQL_ASYNC_ENABLE_DEFAULT       SQL_ASYNC_ENABLE_OFF
-
-/*
- * SQLSet/GetStmtOptions: CONCURRENCY. A SQLUINTEGER. Note most of these
- * are above in the original isqlext.h code.
- */
-#define SQL_CONCUR_DEFAULT             SQL_CONCUR_READ_ONLY
-
-/*
- * SQLSet/GetStmtOptions: CURSOR_SCROLLABLE. A SQLUINTEGER. Added in ODBC
- * 3.0.
- */
-#define SQL_NONSCROLLABLE              0UL
-#define SQL_SCROLLABLE                 1UL
-#define SQL_CURSOR_SCROLLABLE_DEFAULT  SQL_NONSCROLLABLE
-
-/*
- * SQLSet/GetStmtOptions: CURSOR_SENSITITY. A SQLUINTEGER. Added in ODBC
- * 3.0.
- */
-#define SQL_UNSPECIFIED                    0UL
-#define SQL_INSENSITIVE                    1UL
-#define SQL_SENSITIVIE                 2UL
-#define SQL_CURSOR_SENSITIVITY_DEFAULT SQL_UNSPECIFIED
-
-/*
- * SQLSet/GetStmtOptions: CURSOR_TYPE: A SQLUINTEGER value that specifies the
- * cursor type
- */
-#define SQL_CURSOR_FORWARD_ONLY            0UL
-#define SQL_CURSOR_KEYSET_DRIVEN       1UL
-#define SQL_CURSOR_DYNAMIC             2UL
-#define SQL_CURSOR_STATIC              3UL
-#define SQL_CURSOR_DEFAULT             SQL_CURSOR_FORWARD_ONLY
-
-/*
- * ENABLE_AUTO_IPD: A SQLUINTEGER, either SQL_TRUE or SQL_FALSE. Default
- * dependent on connection option SQL_ATTR_AUTO_IPD. Added in ODBC 3.0.
- */
-
-/*
- * METADATA_ID: A SQLUINTEGER, either SQL_TRUE or SQL_FALSE. Added in
- * ODBC 3.0.
- */
-#define SQL_ATTR_METADATA_ID_DEFAULT   SQL_FALSE
-
-/*
- * SQLSet/GetStmtOptions: NOSCAN. A SQLUINTEGER value that indicates whether
- * the driver should scan SQL strings for escape sequences.
- */
-#define SQL_NOSCAN_OFF                 0UL
-#define SQL_NOSCAN_ON                  1UL
-#define SQL_NOSCAN_DEFAULT             SQL_NOSCAN_OFF
-
-/*
- * SQLSet/GetStmtOptions: PARAM_OPERATION: SQLUSMALLINT *. Added in ODBC 3.0
- *
- */
-#define SQL_PARAM_PROCEED              0
-#define SQL_PARAM_IGNORE               1
-
-/*
- * SQLSet/GetStmtOptions: PARAM_STATUS: SQLUSMALLINT *. Added in ODBC 3.0
- *
-*/
-#define SQL_PARAM_SUCCESS              0
-#define SQL_PARAM_SUCCESS_WITH_INFO        6
-#define SQL_PARAM_ERROR                    5
-#define SQL_PARAM_UNUSED               7
-#define SQL_PARAM_DIAG_UNAVAILABLE     1
-
-/*
- * SQLSet/GetStmtOptions: RETRIEVE_DATA: SQLUINTEGER value.
- */
-#define SQL_RD_OFF                     0UL
-#define SQL_RD_ON                      1UL
-#define SQL_RD_DEFAULT                 SQL_RD_ON
-
-/*
- * SQLSet/GetStmtOptions: BIND_TYPE: SQLUINTEGER. sets binding orientation.
- */
-#define SQL_BIND_BY_COLUMN             0UL
-#define SQL_BIND_TYPE_DEFAULT          SQL_BIND_BY_COLUMN
-
-/*
- * SQLSet/GetStmtOptions: ROW_OPERATION: SQLUSMALLINT *. Added in ODBC 3.0
- */
-#define SQL_ROW_PROCEED                    0
-#define SQL_ROW_IGNORE                 1
-
-/*
- * SQL_ROWSET_SIZE
- */
-#define SQL_ROWSET_SIZE_DEFAULT            1UL
-
-/*
- * SQL_KEYSET_SIZE
- */
-#define SQL_KEYSET_SIZE_DEFAULT            0UL
-
-/*
- * SQLSet/GetStmtOptions: SIMULATE_CURSOR: SQLUINTEGER value that specifies
- * whether drivers that simulate positioned update and delete statements
- * guarantee that such statements affect only a single row.
- */
-#define SQL_SC_NON_UNIQUE              0UL
-#define SQL_SC_TRY_UNIQUE              1UL
-#define SQL_SC_UNIQUE                  2UL
-
-/*
- * SQLSet/GetStmtOptions: USE_BOOKMARKS: SQLUINTEGER value that specifies
- * whether an application will use bookmarks with a cursor.
- */
-#define SQL_UB_OFF                     0UL
-#define SQL_UB_ON                      1UL
-#define SQL_UB_FIXED                   SQL_UB_ON       /* Deprecated in ODBC
-                                                        * 3.0 */
-#define SQL_UB_VARIABLE                    2UL     /* Added in ODBC 3.0 */
-#define SQL_UB_DEFAULT                 SQL_UB_OFF
-
-/* Deprecated */
-#define SQL_DATABASE_NAME              16
-#define SQL_FD_FETCH_PREV              SQL_FD_FETCH_PRIOR
-#define SQL_FETCH_PREV                 SQL_FETCH_PRIOR
-#define SQL_CONCUR_TIMESTAMP           SQL_CONCUR_ROWVER
-#define SQL_SCCO_OPT_TIMESTAMP         SQL_SCCO_OPT_ROWVER
-#define SQL_CC_DELETE                  SQL_CB_DELETE
-#define SQL_CR_DELETE                  SQL_CB_DELETE
-#define SQL_CC_CLOSE                   SQL_CB_CLOSE
-#define SQL_CR_CLOSE                   SQL_CB_CLOSE
-#define SQL_CC_PRESERVE                    SQL_CB_PRESERVE
-#define SQL_CR_PRESERVE                    SQL_CB_PRESERVE
-#define SQL_FETCH_RESUME               7
-#define SQL_SCROLL_FORWARD_ONLY            0L
-#define SQL_SCROLL_KEYSET_DRIVEN       (-1L)
-#define SQL_SCROLL_DYNAMIC             (-2L)
-#define SQL_SCROLL_STATIC              (-3L)
-
-/*
- * ODBC keywords
- */
-#define SQL_ODBC_KEYWORDS \
-"ABSOLUTE,ACTION,ADA,ADD,ALL,ALLOCATE,ALTER,AND,ANY,ARE,AS,"\
-"ASC,ASSERTION,AT,AUTHORIZATION,AVG,"\
-"BEGIN,BETWEEN,BIT,BIT_LENGTH,BOTH,BY,CASCADE,CASCADED,CASE,CAST,CATALOG,"\
-"CHAR,CHAR_LENGTH,CHARACTER,CHARACTER_LENGTH,CHECK,CLOSE,COALESCE,"\
-"COBOL,COLLATE,COLLATION,COLUMN,COMMIT,CONNECT,CONNECTION,CONSTRAINT,"\
-"CONSTRAINTS,CONTINUE,CONVERT,CORRESPONDING,COUNT,CREATE,CROSS,CURRENT,"\
-"CURRENT_DATE,CURRENT_TIME,CURRENT_TIMESTAMP,CURRENT_USER,CURSOR,"\
-"DATE,DAY,DEALLOCATE,DEC,DECIMAL,DECLARE,DEFAULT,DEFERRABLE,"\
-"DEFERRED,DELETE,DESC,DESCRIBE,DESCRIPTOR,DIAGNOSTICS,DISCONNECT,"\
-"DISTINCT,DOMAIN,DOUBLE,DROP,"\
-"ELSE,END,END-EXEC,ESCAPE,EXCEPT,EXCEPTION,EXEC,EXECUTE,"\
-"EXISTS,EXTERNAL,EXTRACT,"\
-"FALSE,FETCH,FIRST,FLOAT,FOR,FOREIGN,FORTRAN,FOUND,FROM,FULL,"\
-"GET,GLOBAL,GO,GOTO,GRANT,GROUP,HAVING,HOUR,"\
-"IDENTITY,IMMEDIATE,IN,INCLUDE,INDEX,INDICATOR,INITIALLY,INNER,"\
-"INPUT,INSENSITIVE,INSERT,INTEGER,INTERSECT,INTERVAL,INTO,IS,ISOLATION,"\
-"JOIN,KEY,LANGUAGE,LAST,LEADING,LEFT,LEVEL,LIKE,LOCAL,LOWER,"\
-"MATCH,MAX,MIN,MINUTE,MODULE,MONTH,MUMPS,"\
-"NAMES,NATIONAL,NATURAL,NCHAR,NEXT,NO,NONE,NOT,NULL,NULLIF,NUMERIC,"\
-"OCTET_LENGTH,OF,ON,ONLY,OPEN,OPTION,OR,ORDER,OUTER,OUTPUT,OVERLAPS,"\
-"PAD,PARTIAL,PASCAL,PLI,POSITION,PRECISION,PREPARE,PRESERVE,"\
-"PRIMARY,PRIOR,PRIVILEGES,PROCEDURE,PUBLIC,"\
-"REFERENCES,RELATIVE,RESTRICT,REVOKE,RIGHT,ROLLBACK,ROWS,"\
-"SCHEMA,SCROLL,SECOND,SECTION,SELECT,SEQUENCE,SESSION,SESSION_USER,SET,SIZE,"\
-"SMALLINT,SOME,SPACE,SQL,SQLCA,SQLCODE,SQLERROR,SQLSTATE,SQLWARNING,"\
-"SUBSTRING,SUM,SYSTEM_USER,"\
-"TABLE,TEMPORARY,THEN,TIME,TIMESTAMP,TIMEZONE_HOUR,TIMEZONE_MINUTE,"\
-"TO,TRAILING,TRANSACTION,TRANSLATE,TRANSLATION,TRIM,TRUE,"\
-"UNION,UNIQUE,UNKNOWN,UPDATE,UPPER,USAGE,USER,USING,"\
-"VALUE,,VARCHAR,VARYING,VIEW,WHEN,WHENEVER,WHERE,WITH,WORK,YEAR"
-
-#ifdef __cplusplus
-extern     "C"
-{
-#endif
-
-RETCODE SQL_API SQLSetConnectOption(HDBC, UWORD, UDWORD);
-RETCODE SQL_API SQLNumResultCols(HSTMT, SWORD FAR *);
-
-/*
- *  function prototypes previously missing from isqlext.h
- */
-RETCODE SQL_API SQLColumns(HSTMT hstmt,
-          UCHAR FAR * szTableQualifier,
-          SWORD cbTableQualifier,
-          UCHAR FAR * szTableOwner,
-          SWORD cbTableOwner,
-          UCHAR FAR * szTableName,
-          SWORD cbTableName,
-          UCHAR FAR * szColumnName,
-          SWORD cbColumnName);
-
-RETCODE SQL_API SQLDriverConnect(HDBC hdbc,
-                HWND hwnd,
-                UCHAR FAR * szConnStrIn,
-                SWORD cbConnStrIn,
-                UCHAR FAR * szConnStrOut,
-                SWORD cbConnStrOutMax,
-                SWORD FAR * pcbConnStrOut,
-                UWORD fDriverCompletion);
-
-RETCODE SQL_API SQLGetConnectOption(HDBC hdbc,
-                   UWORD fOption,
-                   PTR pvParam);
-
-RETCODE SQL_API SQLGetData(HSTMT hstmt,
-          UWORD icol,
-          SWORD fCType,
-          PTR rgbValue,
-          SDWORD cbValueMax,
-          SDWORD FAR * pcbValue);
-
-RETCODE SQL_API SQLGetFunctions(HDBC hdbc,
-               UWORD fFunction,
-               UWORD FAR * pfExists);
-
-RETCODE SQL_API SQLGetInfo(HDBC hdbc,
-          UWORD fInfoType,
-          PTR rgbInfoValue,
-          SWORD cbInfoValueMax,
-          SWORD FAR * pcbInfoValue);
-
-RETCODE SQL_API SQLGetStmtOption(HSTMT hstmt,
-                UWORD fOption,
-                PTR pvParam);
-
-RETCODE SQL_API SQLGetTypeInfo(HSTMT hstmt,
-              SWORD fSqlType);
-
-RETCODE SQL_API SQLParamData(HSTMT hstmt,
-            PTR FAR * prgbValue);
-
-RETCODE SQL_API SQLPutData(HSTMT hstmt,
-          PTR rgbValue,
-          SDWORD cbValue);
-
-RETCODE SQL_API SQLSetStmtOption(HSTMT hstmt,
-                UWORD fOption,
-                UDWORD vParam);
-
-RETCODE SQL_API SQLSpecialColumns(HSTMT hstmt,
-                 UWORD fColType,
-                 UCHAR FAR * szTableQualifier,
-                 SWORD cbTableQualifier,
-                 UCHAR FAR * szTableOwner,
-                 SWORD cbTableOwner,
-                 UCHAR FAR * szTableName,
-                 SWORD cbTableName,
-                 UWORD fScope,
-                 UWORD fNullable);
-
-RETCODE SQL_API SQLStatistics(HSTMT hstmt,
-             UCHAR FAR * szTableQualifier,
-             SWORD cbTableQualifier,
-             UCHAR FAR * szTableOwner,
-             SWORD cbTableOwner,
-             UCHAR FAR * szTableName,
-             SWORD cbTableName,
-             UWORD fUnique,
-             UWORD fAccuracy);
-
-RETCODE SQL_API SQLTables(HSTMT hstmt,
-         UCHAR FAR * szTableQualifier,
-         SWORD cbTableQualifier,
-         UCHAR FAR * szTableOwner,
-         SWORD cbTableOwner,
-         UCHAR FAR * szTableName,
-         SWORD cbTableName,
-         UCHAR FAR * szTableType,
-         SWORD cbTableType);
-
-RETCODE SQL_API SQLBrowseConnect(HDBC hdbc,
-                UCHAR FAR * szConnStrIn,
-                SWORD cbConnStrIn,
-                UCHAR FAR * szConnStrOut,
-                SWORD cbConnStrOutMax,
-                SWORD FAR * pcbConnStrOut);
-
-RETCODE SQL_API SQLColumnPrivileges(HSTMT hstmt,
-                   UCHAR FAR * szTableQualifier,
-                   SWORD cbTableQualifier,
-                   UCHAR FAR * szTableOwner,
-                   SWORD cbTableOwner,
-                   UCHAR FAR * szTableName,
-                   SWORD cbTableName,
-                   UCHAR FAR * szColumnName,
-                   SWORD cbColumnName);
-
-RETCODE SQL_API SQLDescribeParam(HSTMT hstmt,
-                UWORD ipar,
-                SWORD FAR * pfSqlType,
-                UDWORD FAR * pcbColDef,
-                SWORD FAR * pibScale,
-                SWORD FAR * pfNullable);
-
-RETCODE SQL_API SQLExtendedFetch(HSTMT hstmt,
-                UWORD fFetchType,
-                SDWORD irow,
-                UDWORD FAR * pcrow,
-                UWORD FAR * rgfRowStatus);
-
-RETCODE SQL_API SQLForeignKeys(HSTMT hstmt,
-              UCHAR FAR * szPkTableQualifier,
-              SWORD cbPkTableQualifier,
-              UCHAR FAR * szPkTableOwner,
-              SWORD cbPkTableOwner,
-              UCHAR FAR * szPkTableName,
-              SWORD cbPkTableName,
-              UCHAR FAR * szFkTableQualifier,
-              SWORD cbFkTableQualifier,
-              UCHAR FAR * szFkTableOwner,
-              SWORD cbFkTableOwner,
-              UCHAR FAR * szFkTableName,
-              SWORD cbFkTableName);
-
-RETCODE SQL_API SQLMoreResults(HSTMT hstmt);
-
-RETCODE SQL_API SQLNativeSql(HDBC hdbc,
-            UCHAR FAR * szSqlStrIn,
-            SDWORD cbSqlStrIn,
-            UCHAR FAR * szSqlStr,
-            SDWORD cbSqlStrMax,
-            SDWORD FAR * pcbSqlStr);
-
-RETCODE SQL_API SQLNumParams(HSTMT hstmt,
-            SWORD FAR * pcpar);
-
-RETCODE SQL_API SQLParamOptions(HSTMT hstmt,
-               UDWORD crow,
-               UDWORD FAR * pirow);
-
-RETCODE SQL_API SQLPrimaryKeys(HSTMT hstmt,
-              UCHAR FAR * szTableQualifier,
-              SWORD cbTableQualifier,
-              UCHAR FAR * szTableOwner,
-              SWORD cbTableOwner,
-              UCHAR FAR * szTableName,
-              SWORD cbTableName);
-
-RETCODE SQL_API SQLProcedureColumns(HSTMT hstmt,
-                   UCHAR FAR * szProcQualifier,
-                   SWORD cbProcQualifier,
-                   UCHAR FAR * szProcOwner,
-                   SWORD cbProcOwner,
-                   UCHAR FAR * szProcName,
-                   SWORD cbProcName,
-                   UCHAR FAR * szColumnName,
-                   SWORD cbColumnName);
-
-RETCODE SQL_API SQLProcedures(HSTMT hstmt,
-             UCHAR FAR * szProcQualifier,
-             SWORD cbProcQualifier,
-             UCHAR FAR * szProcOwner,
-             SWORD cbProcOwner,
-             UCHAR FAR * szProcName,
-             SWORD cbProcName);
-
-RETCODE SQL_API SQLSetPos(HSTMT hstmt,
-         UWORD irow,
-         UWORD fOption,
-         UWORD fLock);
-
-RETCODE SQL_API SQLTablePrivileges(HSTMT hstmt,
-                  UCHAR FAR * szTableQualifier,
-                  SWORD cbTableQualifier,
-                  UCHAR FAR * szTableOwner,
-                  SWORD cbTableOwner,
-                  UCHAR FAR * szTableName,
-                  SWORD cbTableName);
-
-RETCODE SQL_API SQLBindParameter(HSTMT hstmt,
-                UWORD ipar,
-                SWORD fParamType,
-                SWORD fCType,
-                SWORD fSqlType,
-                UDWORD cbColDef,
-                SWORD ibScale,
-                PTR rgbValue,
-                SDWORD cbValueMax,
-                SDWORD FAR * pcbValue);
-
-RETCODE SQL_API SQLSetScrollOptions(HSTMT hstmt,
-                   UWORD fConcurrency,
-                   SDWORD crowKeyset,
-                   UWORD crowRowset);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif