git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@299 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
322 lines
11 KiB
C
322 lines
11 KiB
C
#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
|