]> git.saurik.com Git - wxWidgets.git/blobdiff - src/iodbc/postgres/isqlext.h
added ODBC support
[wxWidgets.git] / src / iodbc / postgres / isqlext.h
diff --git a/src/iodbc/postgres/isqlext.h b/src/iodbc/postgres/isqlext.h
new file mode 100644 (file)
index 0000000..164ea16
--- /dev/null
@@ -0,0 +1,321 @@
+#ifndef _INTRINSIC_SQLEXT_H
+# define _INTRINSIC_SQLEXT_H
+
+# include       <../iodbc/postgres/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_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
+
+
+/* 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
+
+/* Operations in SQLSetPos */
+# define SQL_ADD                        4
+
+/* Lock options in SQLSetPos */
+# define SQL_LOCK_NO_CHANGE             0
+# define SQL_LOCK_EXCLUSIVE             1
+# define SQL_LOCK_UNLOCK                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
+
+/* 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)
+
+# if defined(__cplusplus) || defined(__IBMCPP__)
+        extern  "C" {
+# endif
+
+
+/* SQL CONVERT_FUNCTIONS function */
+#define SQL_FN_CVT_CONVERT             0x00000001L
+
+/* SQL_SUBQUERIES masks */
+
+#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
+
+
+
+RETCODE SQL_API SQLSetConnectOption (HDBC, UWORD, UDWORD);
+RETCODE SQL_API SQLNumResultCols ( HSTMT, SWORD FAR* );
+
+# if defined(__cplusplus) || defined(__IBMCPP__)
+        }
+# endif
+
+#endif