sqlcli.h
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:25k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. /* -*- C -*- */
  2. /* sqlcli.h  Header File for SQL CLI.
  3.  * The actual header file must contain at least the information
  4.  * specified here, except that the comments may vary.
  5.  *
  6.  * This file is adapted for PostgreSQL
  7.  * from the SQL98 August 1994 draft standard.
  8.  * Thomas G. Lockhart 1999-06-16
  9.  *
  10.  * Updated from Date and Darwen, 1997, with some definitions
  11.  * not in the SQL3 August 1994 draft standard
  12.  * - Thomas Lockhart 1999-06-17
  13.  */
  14. /* API declaration data types */
  15. typedef unsigned char   SQLCHAR;
  16. typedef long            SQLINTEGER;
  17. typedef short           SQLSMALLINT;
  18. typedef double          SQLDOUBLE;
  19. typedef float           SQLREAL;
  20. typedef void *          SQLPOINTER;
  21. typedef unsigned char   SQLDATE;
  22. typedef unsigned char   SQLTIME;
  23. typedef unsigned char   SQLTIMESTAMP;
  24. typedef unsigned char   SQLDECIMAL;
  25. typedef unsigned char   SQLNUMERIC;
  26. /* function return type */
  27. typedef SQLSMALLINT     SQLRETURN;
  28. /* generic data structures */
  29. typedef SQLINTEGER      SQLHENV;    /* environment handle */
  30. typedef SQLINTEGER      SQLHDBC;    /* connection handle */
  31. typedef SQLINTEGER      SQLHSTMT;   /* statement handle */
  32. typedef SQLINTEGER      SQLHDESC;   /* descriptor handle */
  33. /* special length/indicator values */
  34. #define SQL_NULL_DATA             -1
  35. #define SQL_DATA_AT_EXEC          -2
  36. /* return values from functions */
  37. #define SQL_SUCCESS                0
  38. #define SQL_SUCCESS_WITH_INFO      1
  39. #define SQL_NEED_DATA             99
  40. #define SQL_NO_DATA              100
  41. #define SQL_ERROR                 -1
  42. #define SQL_INVALID_HANDLE        -2
  43. /* test for SQL_SUCCESS or SQL_SUCCESS_WITH_INFO */
  44. #define SQL_SUCCEEDED(rc) (((rc)&(~1))==0)
  45. /* flags for null-terminated string */
  46. #define SQL_NTS                   -3
  47. #define SQL_NTSL                  -3L
  48. /* maximum message length from Date and Darwen
  49.  * was 255 in the August 1994 draft standard
  50.  * - Thomas Lockhart 1999-06-17
  51.  */
  52. #define SQL_MAX_MESSAGE_LENGTH   512
  53. /* maximum identifier length */
  54. #define SQL_MAX_ID_LENGTH         18
  55. /* date/time length constants */
  56. /* add p+1 for time and timestamp if precision is nonzero */
  57. #define SQL_DATE_LEN              10
  58. #define SQL_TIME_LEN               8
  59. #define SQL_TIMESTAMP_LEN         19
  60. /* handle type identifiers */
  61. #define SQL_HANDLE_ENV             1
  62. #define SQL_HANDLE_DBC             2
  63. #define SQL_HANDLE_STMT            3
  64. #define SQL_HANDLE_DESC            4
  65. /* environment attribute */
  66. #define SQL_ATTR_OUTPUT_NTS    10001
  67. /* connection attribute */
  68. #define SQL_ATTR_AUTO_IPD      10001
  69. /* statement attributes */
  70. #define SQL_ATTR_APP_ROW_DESC        10010
  71. #define SQL_ATTR_APP_PARAM_DESC      10011
  72. #define SQL_ATTR_IMP_ROW_DESC        10012
  73. #define SQL_ATTR_IMP_PARAM_DESC      10013
  74. #define SQL_ATTR_CURSOR_SCROLLABLE      -1
  75. #define SQL_ATTR_CURSOR_SENSITIVITY     -2
  76. /* identifiers of fields in the SQL descriptor */
  77. /* These ran 1-99 in the August 1994 draft standard
  78.  * - Thomas Lockhart 1999-06-17
  79.  */
  80. #define SQL_DESC_COUNT                        1001
  81. #define SQL_DESC_TYPE                         1002
  82. #define SQL_DESC_LENGTH                       1003
  83. #define SQL_DESC_OCTET_LENGTH_POINTER         1004
  84. #define SQL_DESC_PRECISION                    1005
  85. #define SQL_DESC_SCALE                        1006
  86. #define SQL_DESC_DATETIME_INTERVAL_CODE       1007
  87. #define SQL_DESC_NULLABLE                     1008
  88. #define SQL_DESC_INDICATOR_POINTER            1009
  89. #define SQL_DESC_DATA_POINTER                 1010
  90. #define SQL_DESC_NAME                         1011
  91. #define SQL_DESC_UNNAMED                      1012
  92. #define SQL_DESC_OCTET_LENGTH                 1013
  93. #define SQL_DESC_DATETIME_INTERVAL_PRECISION  1014
  94. #define SQL_DESC_COLLATION_CATALOG            1015
  95. #define SQL_DESC_COLLATION_SCHEMA             1016
  96. #define SQL_DESC_COLLATION_NAME               1017
  97. #define SQL_DESC_CHARACTER_SET_CATALOG        1018
  98. #define SQL_DESC_CHARACTER_SET_SCHEMA         1019
  99. #define SQL_DESC_CHARACTER_SET_NAME           1020
  100. #define SQL_DESC_PARAMETER_MODE               1021
  101. #define SQL_DESC_PARAMETER_ORDINAL_POSITION   1022
  102. #define SQL_DESC_PARAMETER_SPECIFIC_CATALOG   1023
  103. #define SQL_DESC_PARAMETER_SPECIFIC_SCHEMA    1024
  104. #define SQL_DESC_PARAMETER_SPECIFIC_NAME      1025
  105. #define SQL_DESC_ALLOC_TYPE                   1099
  106. /* identifiers of fields in the diagnostics area */
  107. /* Many new definitions since August 1994 draft standard
  108.  * - Thomas Lockhart 1999-06-17
  109.  */
  110. #define SQL_DIAG_RETURNCODE                      1
  111. #define SQL_DIAG_NUMBER                          2
  112. #define SQL_DIAG_ROW_COUNT                       3
  113. #define SQL_DIAG_SQLSTATE                        4
  114. #define SQL_DIAG_NATIVE                          5
  115. #define SQL_DIAG_MESSAGE_TEXT                    6
  116. #define SQL_DIAG_DYNAMIC_FUNCTION                7
  117. #define SQL_DIAG_CLASS_ORIGIN                    8
  118. #define SQL_DIAG_SUBCLASS_ORIGIN                 9
  119. #define SQL_DIAG_CONNECTION_NAME                10
  120. #define SQL_DIAG_SERVER_NAME                    11
  121. #define SQL_DIAG_DYNAMIC_FUNCTION_CODE          12
  122. #define SQL_DIAG_MORE                           13
  123. #define SQL_DIAG_CONDITION_NUMBER               14
  124. #define SQL_DIAG_CONSTRAINT_CATALOG             15
  125. #define SQL_DIAG_CONSTRAINT_SCHEMA              16
  126. #define SQL_DIAG_CONSTRAINT_NAME                17
  127. #define SQL_DIAG_CATALOG_NAME                   18
  128. #define SQL_DIAG_SCHEMA_NAME                    19
  129. #define SQL_DIAG_TABLE_NAME                     20
  130. #define SQL_DIAG_COLUMN_NAME                    21
  131. #define SQL_DIAG_CURSOR_NAME                    22
  132. #define SQL_DIAG_MESSAGE_LENGTH                 23
  133. #define SQL_DIAG_MESSAGE_OCTET_LENGTH           24
  134. /* dynamic function codes returned in diagnostics area */
  135. #define SQL_DIAG_ALTER_DOMAIN                    3
  136. #define SQL_DIAG_ALTER_TABLE                     4
  137. #define SQL_DIAG_CREATE_ASSERTION                6
  138. #define SQL_DIAG_CREATE_CHARACTER_SET            8
  139. #define SQL_DIAG_CREATE_COLLATION               10
  140. #define SQL_DIAG_CREATE_DOMAIN                  23
  141. #define SQL_DIAG_CREATE_SCHEMA                  64
  142. #define SQL_DIAG_CREATE_TABLE                   77
  143. #define SQL_DIAG_CREATE_TRANSLATION             79
  144. #define SQL_DIAG_CREATE_VIEW                    84
  145. #define SQL_DIAG_DELETE_WHERE                   19
  146. #define SQL_DIAG_DROP_ASSERTION                 24
  147. #define SQL_DIAG_DROP_CHARACTER_SET             25
  148. #define SQL_DIAG_DROP_COLLATION                 26
  149. #define SQL_DIAG_DROP_DOMAIN                    27
  150. #define SQL_DIAG_DROP_SCHEMA                    31
  151. #define SQL_DIAG_DROP_TABLE                     32
  152. #define SQL_DIAG_DROP_TRANSLATION               33
  153. #define SQL_DIAG_DROP_VIEW                      36
  154. #define SQL_DIAG_DYNAMIC_DELETE_CURSOR          54
  155. #define SQL_DIAG_DYNAMIC_UPDATE_CURSOR          55
  156. #define SQL_DIAG_GRANT                          48
  157. #define SQL_DIAG_INSERT                         50
  158. #define SQL_DIAG_REVOKE                         59
  159. #define SQL_DIAG_SELECT                         41
  160. #define SQL_DIAG_SELECT_CURSOR                  85
  161. #define SQL_DIAG_SET_CATALOG                    66
  162. #define SQL_DIAG_SET_CONSTRAINT                 68
  163. #define SQL_DIAG_SET_NAMES                      72
  164. #define SQL_DIAG_SET_SCHEMA                     74
  165. #define SQL_DIAG_SET_SESSION_AUTHORIZATION      76
  166. #define SQL_DIAG_SET_TIME_ZONE                  71
  167. #define SQL_DIAG_SET_TRANSACTION                75
  168. #define SQL_DIAG_UNKNOWN_STATEMENT               0
  169. #define SQL_DIAG_UPDATE_WHERE                   82
  170. /* SQL data type codes */
  171. #define SQL_CHAR          1
  172. #define SQL_NUMERIC       2
  173. #define SQL_DECIMAL       3
  174. #define SQL_INTEGER       4
  175. #define SQL_SMALLINT      5
  176. #define SQL_FLOAT         6
  177. #define SQL_REAL          7
  178. #define SQL_DOUBLE        8
  179. #define SQL_DATETIME      9
  180. #define SQL_INTERVAL     10
  181. #define SQL_VARCHAR      12
  182. #define SQL_BIT          14
  183. #define SQL_BIT_VARYING  15
  184. /* One-parameter shortcuts for datetime data types */
  185. #define SQL_TYPE_DATE                      91
  186. #define SQL_TYPE_TIME                      92
  187. #define SQL_TYPE_TIME_WITH_TIMEZONE        93
  188. #define SQL_TYPE_TIMESTAMP                 94
  189. #define SQL_TYPE_TIMESTAMP_WITH_TIMEZONE   95
  190. #define SQL_INTERVAL_DAY                  103
  191. #define SQL_INTERVAL_DAY_TO_HOUR          108
  192. #define SQL_INTERVAL_DAY_TO_MINUTE        109
  193. #define SQL_INTERVAL_DAY_TO_SECOND        110
  194. #define SQL_INTERVAL_HOUR                 104
  195. #define SQL_INTERVAL_HOUR_TO_MINUTE       111
  196. #define SQL_INTERVAL_HOUR_TO_SECOND       112
  197. #define SQL_INTERVAL_MINUTE               105
  198. #define SQL_INTERVAL_MINUTE_TO_SECOND     113
  199. #define SQL_INTERVAL_MONTH                102
  200. #define SQL_INTERVAL_SECOND               106
  201. #define SQL_INTERVAL_YEAR                 101
  202. #define SQL_INTERVAL_YEAR_TO_MONTH        107
  203. /* GetTypeInfo request for all data types */
  204. #define SQL_ALL_TYPES            0
  205. /* BindCol()  and BindParam() default conversion code */
  206. #define SQL_DEFAULT             99
  207. /* GetData code indicating that the application parameter */
  208. /* descriptor specifies the data type */
  209. #define SQL_ARD_TYPE           -99
  210. /* date/time type subcodes */
  211. #define SQL_CODE_DATE            1
  212. #define SQL_CODE_TIME            2
  213. #define SQL_CODE_TIMESTAMP       3
  214. #define SQL_CODE_TIME_ZONE       4
  215. #define SQL_CODE_TIMESTAMP_ZONE  5
  216. /* interval qualifier codes */
  217. #define SQL_DAY                  3
  218. #define SQL_DAY_TO_HOUR          8
  219. #define SQL_DAY_TO_MINUTE        9
  220. #define SQL_DAY_TO_SECOND       10
  221. #define SQL_HOUR                 4
  222. #define SQL_HOUR_TO_MINUTE      11
  223. #define SQL_HOUR_TO_SECOND      12
  224. #define SQL_MINUTE               5
  225. #define SQL_MINUTE_TO_SECOND    13
  226. #define SQL_MONTH                2
  227. #define SQL_SECOND               6
  228. #define SQL_YEAR                 1
  229. #define SQL_YEAR_TO_MONTH        7
  230. /* CLI option values */
  231. #define SQL_FALSE                0
  232. #define SQL_TRUE                 1
  233. #define SQL_NONSCROLLABLE        0
  234. #define SQL_SCROLLABLE           1
  235. /* parameter modes */
  236. #define SQL_PARAM_MODE_IN        1
  237. #define SQL_PARAM_MODE_OUT       4
  238. #define SQL_PARAM_MODE_INOUT     2
  239. #define SQL_PARAM_MODE_NONE      0
  240. /* values of NULLABLE field in descriptor */
  241. #define SQL_NO_NULLS             0
  242. #define SQL_NULLABLE             1
  243. /*      Values returned by GetTypeInfo for the SEARCHABLE column */
  244. #define SQL_PRED_NONE            0
  245. #define SQL_PRED_CHAR            1
  246. #define SQL_PRED_BASIC           2
  247. /* values of UNNAMED field in descriptor */
  248. #define SQL_NAMED                0
  249. #define SQL_UNNAMED              1
  250. /* values of ALLOC_TYPE field in descriptor */
  251. #define SQL_DESC_ALLOC_AUTO      1
  252. #define SQL_DESC_ALLOC_USER      2
  253. /* EndTran()  options */
  254. #define SQL_COMMIT               0
  255. #define SQL_ROLLBACK             1
  256. /* FreeStmt()  options */
  257. #define SQL_CLOSE                0
  258. #define SQL_DROP                 1
  259. #define SQL_UNBIND               2
  260. #define SQL_RESET_PARAMS         3
  261. /* null handles returned by AllocHandle() */
  262. #define SQL_NULL_HENV            0
  263. #define SQL_NULL_HDBC            0
  264. #define SQL_NULL_HSTMT           0
  265. #define SQL_NULL_HDESC           0
  266. /* GetFunctions values to identify CLI routines */
  267. #define SQL_API_SQLALLOCCONNECT         1
  268. #define SQL_API_SQLALLOCENV             2
  269. #define SQL_API_SQLALLOCHANDLE       1001
  270. #define SQL_API_SQLALLOCSTMT            3
  271. #define SQL_API_SQLBINDCOL              4
  272. #define SQL_API_SQLBINDPARAM         1002
  273. #define SQL_API_SQLCANCEL               5
  274. #define SQL_API_SQLCLOSECURSOR       1003
  275. #define SQL_API_SQLCOLATTRIBUTE         6
  276. #define SQL_API_SQLCONNECT              7
  277. #define SQL_API_SQLCOPYDESC          1004
  278. #define SQL_API_SQLDATASOURCES         57
  279. #define SQL_API_SQLDESCRIBECOL          8
  280. #define SQL_API_SQLDISCONNECT           9
  281. #define SQL_API_SQLENDTRAN           1005
  282. #define SQL_API_SQLERROR               10
  283. #define SQL_API_SQLEXECDIRECT          11
  284. #define SQL_API_SQLEXECUTE             12
  285. #define SQL_API_SQLFETCH               13
  286. #define SQL_API_SQLFETCHSCROLL       1021
  287. #define SQL_API_SQLFREECONNECT         14
  288. #define SQL_API_SQLFREEENV             15
  289. #define SQL_API_SQLFREEHANDLE        1006
  290. #define SQL_API_SQLFREESTMT            16
  291. #define SQL_API_SQLGETCONNECTATTR    1007
  292. #define SQL_API_SQLGETCURSORNAME       17
  293. #define SQL_API_SQLGETDATA             43
  294. #define SQL_API_SQLGETDESCFIELD      1008
  295. #define SQL_API_SQLGETDESCREC        1009
  296. #define SQL_API_SQLGETDIAGFIELD      1010
  297. #define SQL_API_SQLGETDIAGREC        1011
  298. #define SQL_API_SQLGETENVATTR        1012
  299. #define SQL_API_SQLGETFUNCTIONS        44
  300. #define SQL_API_SQLGETINFO             45
  301. #define SQL_API_SQLGETSTMTATTR       1014
  302. #define SQL_API_SQLGETTYPEINFO         47
  303. #define SQL_API_SQLNUMRESULTCOLS       18
  304. #define SQL_API_SQLPARAMDATA           48
  305. #define SQL_API_SQLPREPARE             19
  306. #define SQL_API_SQLPUTDATA             49
  307. #define SQL_API_SQLRELEASEENV        1015  /* Obsolete? */
  308. #define SQL_API_SQLROWCOUNT            20
  309. #define SQL_API_SQLSCROLLFETCH       1021  /* Obsolete? */
  310. #define SQL_API_SQLSETCONNECTATTR    1016
  311. #define SQL_API_SQLSETCURSORNAME       21
  312. #define SQL_API_SQLSETDESCFIELD      1017
  313. #define SQL_API_SQLSETDESCREC        1018
  314. #define SQL_API_SQLSETENVATTR        1019
  315. #define SQL_API_SQLSETSTMTATTR       1020
  316. /* information requested by GetInfo */
  317. #define SQL_MAXIMUM_DRIVER_CONNECTIONS      0
  318. #define SQL_MAXIMUM_CONCURRENT_ACTIVITIES   1
  319. #define SQL_DATA_SOURCE_NAME                2
  320. #define SQL_FETCH_DIRECTION                 8
  321. #define SQL_SERVER_NAME                    13
  322. #define SQL_DBMS_NAME                      17
  323. #define SQL_DBMS_VERSION                   18
  324. #define SQL_CURSOR_COMMIT_BEHAVIOR         23
  325. #define SQL_DATA_SOURCE_READ_ONLY          25
  326. #define SQL_DEFAULT_TRANSACTION_ISOLATION  26
  327. #define SQL_IDENTIFIER_CASE                28
  328. #define SQL_MAXIMUM_COLUMN_NAME_LENGTH     30
  329. #define SQL_MAXIMUM_CURSOR_NAME_LENGTH     31
  330. #define SQL_MAXIMUM_SCHEMA_NAME_LENGTH     32
  331. #define SQL_MAXIMUM_CATALOG_NAME_LENGTH    34
  332. #define SQL_MAXIMUM_TABLE_NAME_LENGTH      35
  333. #define SQL_SCROLL_CONCURRENCY             43
  334. #define SQL_TRANSACTION_CAPABLE            46
  335. #define SQL_USER_NAME                      47
  336. #define SQL_TRANSACTION_ISOLATION_OPTION   72
  337. #define SQL_INTEGRITY                      73
  338. #define SQL_GETDATA_EXTENSIONS             81
  339. #define SQL_NULL_COLLATION                 85
  340. #define SQL_ALTER_TABLE                    86
  341. #define SQL_ORDER_BY_COLUMNS_IN_SELECT     90
  342. #define SQL_SPECIAL_CHARACTERS             94
  343. #define SQL_MAXIMUM_COLUMNS_IN_GROUP_BY    97
  344. #define SQL_MAXIMUM_COLUMNS_IN_ORDER_BY    99
  345. #define SQL_MAXIMUM_COLUMNS_IN_SELECT     100
  346. #define SQL_MAXIMUM_COLUMNS_IN_TABLE      101
  347. #define SQL_MAXIMUM_STATEMENT_LENGTH      105
  348. #define SQL_MAXIMUM_TABLES_IN_SELECT      106
  349. #define SQL_MAXIMUM_USER_NAME_LENGTH      107
  350. #define SQL_OUTER_JOIN_CAPABILITIES       115
  351. #define SQL_CURSOR_SENSITIVITY          10001
  352. #define SQL_DESCRIBE_PARAMETER          10002
  353. #define SQL_CATALOG_NAME                10003
  354. #define SQL_COLLATING_SEQUENCE          10004
  355. #define SQL_MAXIMUM_IDENTIFIER_LENGTH   10005
  356. /* S-resource attribute values for cursor sensitivity */
  357. #define SQL_UNSPECIFIED           0x00000000L
  358. #define SQL_INSENSITIVE           0x00000001L
  359. /* null handle used when allocating HENV */
  360. #define SQL_NULL_HANDLE                    0L
  361. /* SQL_ALTER_TABLE bitmasks */
  362. #define SQL_AT_ADD_COLUMN         0x00000001L
  363. #define SQL_AT_DROP_COLUMN        0x00000002L
  364. #define SQL_AT_ALTER_COLUMN       0x00000004L
  365. #define SQL_AT_ADD_CONSTRAINT     0x00000008L
  366. #define SQL_AT_DROP_CONSTRAINT    0x00000010L
  367. /* SQL_CURSOR_COMMIT_BEHAVIOR values */
  368. #define SQL_CB_DELETE                       0
  369. #define SQL_CB_CLOSE                        1
  370. #define SQL_CB_PRESERVE                     2
  371. /* SQL_FETCH_DIRECTION bitmasks */
  372. #define SQL_FD_FETCH_NEXT         0x00000001L
  373. #define SQL_FD_FETCH_FIRST        0x00000002L
  374. #define SQL_FD_FETCH_LAST         0x00000004L
  375. #define SQL_FD_FETCH_PRIOR        0x00000008L
  376. #define SQL_FD_FETCH_ABSOLUTE     0x00000010L
  377. #define SQL_FD_FETCH_RELATIVE     0x00000020L
  378. /* SQL_GETDATA_EXTENSIONS bitmasks */
  379. #define SQL_GD_ANY_COLUMN         0x00000001L
  380. #define SQL_FD_ANY_ORDER          0x00000002L
  381. /* SQL_IDENTIFIER_CASE values */
  382. #define SQL_IC_UPPER                        1
  383. #define SQL_IC_LOWER                        2
  384. #define SQL_IC_SENSITIVE                    3
  385. #define SQL_IC_MIXED                        4
  386. /* SQL_IDENTIFIER_CASE values */
  387. #define SQL_NC_HIGH                         1
  388. #define SQL_NC_LOW                          2
  389. /* SQL_OUTER_JOIN_CAPABILITIES bitmasks */
  390. #define SQL_OUTER_JOIN_LEFT                   0x00000001L
  391. #define SQL_OUTER_JOIN_RIGHT                  0x00000002L
  392. #define SQL_OUTER_JOIN_FULL                   0x00000004L
  393. #define SQL_OUTER_JOIN_NESTED                 0x00000008L
  394. #define SQL_OUTER_JOIN_NOT_ORDERED            0x00000010L
  395. #define SQL_OUTER_JOIN_INNER                  0x00000020L
  396. #define SQL_OUTER_JOIN_ALL_COMPARISION_OPS    0x00000040L
  397. /* SQL_SCROLL_CONCURRENCY bitmasks */
  398. #define SQL_SCCO_READ_ONLY                    0x00000001L
  399. #define SQL_SCCO_LOCK                         0x00000002L
  400. #define SQL_SCCO_OPT_ROWVER                   0x00000004L
  401. #define SQL_SCCO_OPT_VALUES                   0x00000008L
  402. /* SQL_IDENTIFIER_CASE values */
  403. #define SQL_TC_NONE                         0
  404. #define SQL_TC_DML                          1
  405. #define SQL_TC_ALL                          2
  406. #define SQL_TC_DDL_COMMIT                   3
  407. #define SQL_TC_DDL_IGNORE                   4
  408. /* SQL_TRANSACTION_ISOLATION bitmasks */
  409. #define SQL_TRANSACTION_READ_UNCOMMITTED      0x00000001L
  410. #define SQL_TRANSACTION_READ_COMMITTED        0x00000002L
  411. #define SQL_TRANSACTION_READ_REPEATABLE_READ  0x00000004L
  412. #define SQL_TRANSACTION_READ_SERIALIZABLE     0x00000008L
  413. #define SQL_TRANSACTION_READ_UNCOMMITTED    0x00000001L
  414. #define SQL_TRANSACTION_READ_UNCOMMITTED    0x00000001L
  415. #define SQL_FD_FETCH_NEXT         0x00000001L
  416. /* CLI function signatures */
  417. SQLRETURN  SQLAllocConnect(SQLHENV EnvironmentHandle,
  418.    SQLHDBC *ConnectionHandle);
  419. SQLRETURN  SQLAllocEnv(SQLHENV *EnvironmentHandle);
  420. SQLRETURN  SQLAllocHandle(SQLSMALLINT HandleType,
  421.   SQLINTEGER InputHandle,
  422.   SQLINTEGER *OutputHandle);
  423. SQLRETURN  SQLAllocStmt(SQLHDBC ConnectionHandle,
  424.                          SQLSTMT *StatementHandle);
  425. SQLRETURN  SQLBindCol(SQLHSTMT StatementHandle,
  426.       SQLSMALLINT ColumnNumber,
  427.       SQLSMALLINT BufferType,
  428.       SQLPOINTER Data,
  429.       SQLINTEGER BufferLength,
  430.       SQLINTEGER *DataLength);
  431. SQLRETURN  SQLBindParam(SQLHSTMT StatementHandle,
  432. SQLSMALLINT ParamNumber,
  433. SQLSMALLINT BufferType,
  434. SQLSMALLINT ParamType,
  435. SQLINTEGER ParamLength,
  436. SQLSMALLINT Scale,
  437. SQLPOINTER Data,
  438. SQLINTEGER *DataLength);
  439. SQLRETURN  SQLCancel(SQLHSTMT StatementHandle);
  440. SQLRETURN  SQLCloseCursor(SQLHSTMT StatementHandle);
  441. SQLRETURN  SQLColAttribute(SQLHSTMT StatementHandle,
  442.    SQLSMALLINT ColumnNumber,
  443.    SQLSMALLINT FieldIdentifier,
  444.    SQLCHAR *CharacterAttribute,
  445.    SQLINTEGER BufferLength,
  446.    SQLINTEGER *AttributetLength,
  447.    SQLINTEGER *NumericAttribute);
  448. SQLRETURN  SQLConnect(SQLHDBC ConnectionHandle,
  449.       SQLCHAR *ServerName,
  450.       SQLSMALLINT NameLength1,
  451.       SQLCHAR *UserName,
  452.       SQLSMALLINT NameLength2,
  453.       SQLCHAR *Authentication,
  454.       SQLSMALLINT NameLength3);
  455. SQLRETURN  SQLCopyDesc(SQLHDESC SourceDescHandle,
  456.        SQLHDESC TargetDescHandle);
  457. SQLRETURN  SQLDataSources(SQLHENV EnvironmentHandle,
  458.   SQLSMALLINT Direction,
  459.   SQLCHAR *ServerName,
  460.   SQLSMALLINT BufferLength1,
  461.   SQLSMALLINT *NameLength1,
  462.   SQLCHAR *Description,
  463.   SQLSMALLINT BufferLength2,
  464.   SQLSMALLINT *NameLength2);
  465. SQLRETURN  SQLDescribeCol(SQLHSTMT StatementHandle,
  466.   SQLSMALLINT ColumnNumber,
  467.   SQLCHAR *ColumnName,
  468.   SQLSMALLINT BufferLength,
  469.   SQLSMALLINT *ColumnNameLength,
  470.   SQLSMALLINT *ColumnType,
  471.   SQLINTEGER *ColumnLength,
  472.   SQLSMALLINT *ColumnScale,
  473.   SQLSMALLINT *Nullable);
  474. SQLRETURN  SQLDisconnect(SQLHDBC ConnectionHandle);
  475. SQLRETURN  SQLEndTran(SQLSMALLINT HandleType,
  476.       SQLHENV Handle,
  477.       SQLSMALLINT CompletionType);
  478. SQLRETURN  SQLError(SQLHENV EnvironmentHandle,
  479.     SQLHDBC ConnectionHandle,
  480.     SQLSTMT StatementHandle,
  481.     SQLCHAR *Sqlstate,
  482.     SQLINTEGER *NativeError,
  483.     SQLCHAR *MessageText,
  484.     SQLINTEGER BufferLength,
  485.     SQLINTEGER *TextLength);
  486. SQLRETURN  SQLExecDirect(SQLHSTMT StatementHandle,
  487.                          SQLCHAR *StatementText,
  488.  SQLSMALLINT StringLength);
  489. SQLRETURN  SQLExecute(SQLHSTMT StatementHandle);
  490. SQLRETURN  SQLFetch(SQLHSTMT StatementHandle);
  491. SQLRETURN  SQLFetchScroll(SQLHSTMT StatementHandle,
  492.   SQLSMALLINT FetchOrientation,
  493.   SQLINTEGER FetchOffset);
  494. SQLRETURN  SQLFreeConnect(SQLHDBC ConnectionHandle);
  495. SQLRETURN  SQLFreeEnv(SQLHENV EnvironmentHandle);
  496. SQLRETURN  SQLFreeHandle(SQLSMALLINT HandleType,
  497.                          SQLINTEGER Handle);
  498. SQLRETURN  SQLFreeStmt(SQLHSTMT StatementHandle);
  499. SQLRETURN  SQLGetConnectAttr(SQLHDBC ConnectionHandle,
  500.      SQLINTEGER Attribute,
  501.      SQLPOINTER Value,
  502.      SQLINTEGER BufferLength,
  503.      SQLINTEGER *StringLength);
  504. SQLRETURN  SQLGetCursorName(SQLHSTMT StatementHandle,
  505.     SQLCHAR *CursorName,
  506.     SQLSMALLINT BufferLength,
  507.     SQLSMALLINT *NameLength);
  508. SQLRETURN  SQLGetData(SQLHSTMT StatementHandle,
  509.       SQLSMALLINT ColumnNumber,
  510.       SQLSMALLINT TargetType,
  511.       SQLPOINTER TargetValue,
  512.       SQLINTEGER BufferLength,
  513.       SQLINTEGER *IndicatorValue);
  514. SQLRETURN  SQLGetDescField(SQLHDESC DescriptorHandle,
  515.    SQLSMALLINT RecordNumber,
  516.    SQLSMALLINT FieldIdentifier,
  517.    SQLPOINTER Value,
  518.    SQLINTEGER BufferLength,
  519.    SQLINTEGER *StringLength);
  520. SQLRETURN  SQLGetDescRec(SQLHDESC DescriptorHandle,
  521.                          SQLSMALLINT RecordNumber,
  522.  SQLCHAR *Name,
  523.                          SQLSMALLINT BufferLength,
  524.  SQLSMALLINT *StringLength,
  525.                          SQLSMALLINT *Type,
  526.  SQLSMALLINT *SubType,
  527.                          SQLINTEGER *Length,
  528.  SQLSMALLINT *Precision,
  529.                          SQLSMALLINT *Scale,
  530.  SQLSMALLINT *Nullable);
  531. SQLRETURN  SQLGetDiagField(SQLSMALLINT HandleType,
  532.    SQLINTEGER Handle,
  533.    SQLSMALLINT RecordNumber,
  534.    SQLSMALLINT DiagIdentifier,
  535.    SQLPOINTER DiagInfo,
  536.    SQLSMALLINT BufferLength,
  537.    SQLSMALLINT *StringLength);
  538. SQLRETURN  SQLGetDiagRec(SQLSMALLINT HandleType,
  539.  SQLINTEGER Handle,
  540.                          SQLSMALLINT RecordNumber,
  541.  SQLCHAR *Sqlstate,
  542.                          SQLINTEGER *NativeError,
  543.  SQLCHAR *MessageText,
  544.                          SQLSMALLINT BufferLength,
  545.  SQLSMALLINT *StringLength);
  546. SQLRETURN  SQLGetEnvAttr(SQLHENV EnvironmentHandle,
  547.                          SQLINTEGER Attribute,
  548.  SQLPOINTER Value,
  549.                          SQLINTEGER BufferLength,
  550.  SQLINTEGER *StringLength);
  551. SQLRETURN  SQLGetFunctions(SQLHDBC ConnectionHandle,
  552.    SQLSMALLINT FunctionId,
  553.    SQLSMALLINT *Supported);
  554. SQLRETURN  SQLGetInfo(SQLHDBC ConnectionHandle,
  555.       SQLSMALLINT InfoType,
  556.       SQLPOINTER InfoValue,
  557.       SQLSMALLINT BufferLength,
  558.       SQLSMALLINT *StringLength);
  559. SQLRETURN  SQLGetStmtAttr(SQLHSTMT StatementHandle,
  560.   SQLINTEGER Attribute,
  561.   SQLPOINTER Value,
  562.   SQLINTEGER BufferLength,
  563.   SQLINTEGER *StringLength);
  564. SQLRETURN  SQLGetTypeInfo(SQLHSTMT StatementHandle,
  565.   SQLSMALLINT DataType);
  566. SQLRETURN  SQLNumResultCols(SQLHSTMT StatementHandle,
  567.     SQLINTEGER *ColumnCount);
  568. SQLRETURN  SQLParamData(SQLHSTMT StatementHandle,
  569. SQLPOINTER *Value);
  570. SQLRETURN  SQLPrepare(SQLHSTMT StatementHandle,
  571.       SQLCHAR *StatementText,
  572.       SQLSMALLINT StringLength);
  573. SQLRETURN  SQLPutData(SQLHSTMT StatementHandle,
  574.       SQLPOINTER Data,
  575.       SQLINTEGER StringLength);
  576. SQLRETURN  SQLRowCount(SQLHSTMT StatementHandle,
  577.        SQLINTEGER *RowCount);
  578. SQLRETURN  SQLSetConnectAttr(SQLHDBC ConnectionHandle,
  579.      SQLINTEGER AttributeCursorName,
  580.      SQLPOINTER Value,
  581.      SQLINTEGER StringLength);
  582. SQLRETURN  SQLSetCursorName(SQLHSTMT StatementHandle,
  583.     SQLCHAR *CursorName,
  584.     SQLSMALLINT NameLength);
  585. SQLRETURN  SQLSetDescField(SQLHDESC DescriptorHandle,
  586.    SQLSMALLINT RecordNumber,
  587.    SQLSMALLINT FieldIdentifier,
  588.    SQLPOINTER Value, SQLINTEGER BufferLength);
  589. SQLRETURN  SQLSetDescRec(SQLHDESC DescriptorHandle,
  590.                          SQLSMALLINT RecordNumber,
  591.  SQLSMALLINT Type,
  592.                          SQLSMALLINT SubType,
  593.  SQLINTEGER Length,
  594.                          SQLSMALLINT Precision,
  595.  SQLSMALLINT Scale,
  596.                          SQLPOINTER Data,
  597.  SQLINTEGER *StringLength,
  598.                          SQLSMALLINT *Indicator);
  599. SQLRETURN  SQLSetEnvAttr(SQLHENV EnvironmentHandle,
  600.                          SQLINTEGER Attribute,
  601.  SQLPOINTER Value,
  602.                          SQLINTEGER StringLength);
  603. SQLRETURN  SQLSetStmtAttr(SQLHSTMT StatementHandle,
  604.   SQLINTEGER Attribute,
  605.   SQLPOINTER Value,
  606.   SQLINTEGER StringLength);
  607. /* These are in SQL3 from August 1994
  608.  * but not in Date and Darwen, 1997
  609.  * - Thomas Lockhart 1999-06-17
  610. SQLRETURN  SQLLanguages(SQLHSTMT StatementHandle);
  611. SQLRETURN  SQLReleaseEnv(SQLHENV EnvironmentHandle);
  612. SQLRETURN  SQLScrollFetch(SQLHSTMT StatementHandle,
  613.   SQLINTEGER FetchOrientation,
  614.   SQLINTEGER FetchOffset);
  615. */