Warning: That file was not part of the compilation database. It may have many parsing errors.

1/**************************************************
2 * sql.h
3 *
4 * These should be consistent with the MS version.
5 *
6 **************************************************/
7#ifndef __SQL_H
8#define __SQL_H
9
10
11/****************************
12 * default to 3.51 declare something else before here and you get a whole new ball of wax
13 ***************************/
14#ifndef ODBCVER
15#define ODBCVER 0x0380
16#endif
17
18#ifndef __SQLTYPES_H
19#include "sqltypes.h"
20#endif
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
26/****************************
27 * some ret values
28 ***************************/
29#define SQL_NULL_DATA (-1)
30#define SQL_DATA_AT_EXEC (-2)
31#define SQL_SUCCESS 0
32#define SQL_SUCCESS_WITH_INFO 1
33#if (ODBCVER >= 0x0300)
34#define SQL_NO_DATA 100
35#endif
36#define SQL_ERROR (-1)
37#define SQL_INVALID_HANDLE (-2)
38#define SQL_STILL_EXECUTING 2
39#define SQL_NEED_DATA 99
40#define SQL_SUCCEEDED(rc) (((rc)&(~1))==0)
41
42/****************************
43 * use these to indicate string termination to some function
44 ***************************/
45#define SQL_NTS (-3)
46#define SQL_NTSL (-3L)
47
48/* maximum message length */
49#define SQL_MAX_MESSAGE_LENGTH 512
50
51/* date/time length constants */
52#if (ODBCVER >= 0x0300)
53#define SQL_DATE_LEN 10
54#define SQL_TIME_LEN 8 /* add P+1 if precision is nonzero */
55#define SQL_TIMESTAMP_LEN 19 /* add P+1 if precision is nonzero */
56#endif
57
58/* handle type identifiers */
59#if (ODBCVER >= 0x0300)
60#define SQL_HANDLE_ENV 1
61#define SQL_HANDLE_DBC 2
62#define SQL_HANDLE_STMT 3
63#define SQL_HANDLE_DESC 4
64#endif
65
66/* environment attribute */
67#if (ODBCVER >= 0x0300)
68#define SQL_ATTR_OUTPUT_NTS 10001
69#endif
70
71/* connection attributes */
72#if (ODBCVER >= 0x0300)
73#define SQL_ATTR_AUTO_IPD 10001
74#define SQL_ATTR_METADATA_ID 10014
75#endif /* ODBCVER >= 0x0300 */
76
77/* statement attributes */
78#if (ODBCVER >= 0x0300)
79#define SQL_ATTR_APP_ROW_DESC 10010
80#define SQL_ATTR_APP_PARAM_DESC 10011
81#define SQL_ATTR_IMP_ROW_DESC 10012
82#define SQL_ATTR_IMP_PARAM_DESC 10013
83#define SQL_ATTR_CURSOR_SCROLLABLE (-1)
84#define SQL_ATTR_CURSOR_SENSITIVITY (-2)
85#endif
86
87/* SQL_ATTR_CURSOR_SCROLLABLE values */
88#if (ODBCVER >= 0x0300)
89#define SQL_NONSCROLLABLE 0
90#define SQL_SCROLLABLE 1
91#endif /* ODBCVER >= 0x0300 */
92
93/* identifiers of fields in the SQL descriptor */
94#if (ODBCVER >= 0x0300)
95#define SQL_DESC_COUNT 1001
96#define SQL_DESC_TYPE 1002
97#define SQL_DESC_LENGTH 1003
98#define SQL_DESC_OCTET_LENGTH_PTR 1004
99#define SQL_DESC_PRECISION 1005
100#define SQL_DESC_SCALE 1006
101#define SQL_DESC_DATETIME_INTERVAL_CODE 1007
102#define SQL_DESC_NULLABLE 1008
103#define SQL_DESC_INDICATOR_PTR 1009
104#define SQL_DESC_DATA_PTR 1010
105#define SQL_DESC_NAME 1011
106#define SQL_DESC_UNNAMED 1012
107#define SQL_DESC_OCTET_LENGTH 1013
108#define SQL_DESC_ALLOC_TYPE 1099
109#endif
110
111/* identifiers of fields in the diagnostics area */
112#if (ODBCVER >= 0x0300)
113#define SQL_DIAG_RETURNCODE 1
114#define SQL_DIAG_NUMBER 2
115#define SQL_DIAG_ROW_COUNT 3
116#define SQL_DIAG_SQLSTATE 4
117#define SQL_DIAG_NATIVE 5
118#define SQL_DIAG_MESSAGE_TEXT 6
119#define SQL_DIAG_DYNAMIC_FUNCTION 7
120#define SQL_DIAG_CLASS_ORIGIN 8
121#define SQL_DIAG_SUBCLASS_ORIGIN 9
122#define SQL_DIAG_CONNECTION_NAME 10
123#define SQL_DIAG_SERVER_NAME 11
124#define SQL_DIAG_DYNAMIC_FUNCTION_CODE 12
125#endif
126
127/* dynamic function codes */
128#if (ODBCVER >= 0x0300)
129#define SQL_DIAG_ALTER_DOMAIN 3
130#define SQL_DIAG_ALTER_TABLE 4
131#define SQL_DIAG_CALL 7
132#define SQL_DIAG_CREATE_ASSERTION 6
133#define SQL_DIAG_CREATE_CHARACTER_SET 8
134#define SQL_DIAG_CREATE_COLLATION 10
135#define SQL_DIAG_CREATE_DOMAIN 23
136#define SQL_DIAG_CREATE_INDEX (-1)
137#define SQL_DIAG_CREATE_SCHEMA 64
138#define SQL_DIAG_CREATE_TABLE 77
139#define SQL_DIAG_CREATE_TRANSLATION 79
140#define SQL_DIAG_CREATE_VIEW 84
141#define SQL_DIAG_DELETE_WHERE 19
142#define SQL_DIAG_DROP_ASSERTION 24
143#define SQL_DIAG_DROP_CHARACTER_SET 25
144#define SQL_DIAG_DROP_COLLATION 26
145#define SQL_DIAG_DROP_DOMAIN 27
146#define SQL_DIAG_DROP_INDEX (-2)
147#define SQL_DIAG_DROP_SCHEMA 31
148#define SQL_DIAG_DROP_TABLE 32
149#define SQL_DIAG_DROP_TRANSLATION 33
150#define SQL_DIAG_DROP_VIEW 36
151#define SQL_DIAG_DYNAMIC_DELETE_CURSOR 38
152#define SQL_DIAG_DYNAMIC_UPDATE_CURSOR 81
153#define SQL_DIAG_GRANT 48
154#define SQL_DIAG_INSERT 50
155#define SQL_DIAG_REVOKE 59
156#define SQL_DIAG_SELECT_CURSOR 85
157#define SQL_DIAG_UNKNOWN_STATEMENT 0
158#define SQL_DIAG_UPDATE_WHERE 82
159#endif /* ODBCVER >= 0x0300 */
160
161/* SQL data type codes */
162#define SQL_UNKNOWN_TYPE 0
163#define SQL_CHAR 1
164#define SQL_NUMERIC 2
165#define SQL_DECIMAL 3
166#define SQL_INTEGER 4
167#define SQL_SMALLINT 5
168#define SQL_FLOAT 6
169#define SQL_REAL 7
170#define SQL_DOUBLE 8
171#if (ODBCVER >= 0x0300)
172#define SQL_DATETIME 9
173#endif
174#define SQL_VARCHAR 12
175
176/* One-parameter shortcuts for date/time data types */
177#if (ODBCVER >= 0x0300)
178#define SQL_TYPE_DATE 91
179#define SQL_TYPE_TIME 92
180#define SQL_TYPE_TIMESTAMP 93
181#endif
182
183/* Statement attribute values for cursor sensitivity */
184#if (ODBCVER >= 0x0300)
185#define SQL_UNSPECIFIED 0
186#define SQL_INSENSITIVE 1
187#define SQL_SENSITIVE 2
188#endif
189
190/* GetTypeInfo() request for all data types */
191#define SQL_ALL_TYPES 0
192
193/* Default conversion code for SQLBindCol(), SQLBindParam() and SQLGetData() */
194#if (ODBCVER >= 0x0300)
195#define SQL_DEFAULT 99
196#endif
197
198/* SQLGetData() code indicating that the application row descriptor
199 * specifies the data type
200 */
201#if (ODBCVER >= 0x0300)
202#define SQL_ARD_TYPE (-99)
203#endif
204
205/* SQL date/time type subcodes */
206#if (ODBCVER >= 0x0300)
207#define SQL_CODE_DATE 1
208#define SQL_CODE_TIME 2
209#define SQL_CODE_TIMESTAMP 3
210#endif
211
212/* CLI option values */
213#if (ODBCVER >= 0x0300)
214#define SQL_FALSE 0
215#define SQL_TRUE 1
216#endif
217
218/* values of NULLABLE field in descriptor */
219#define SQL_NO_NULLS 0
220#define SQL_NULLABLE 1
221
222/* Value returned by SQLGetTypeInfo() to denote that it is
223 * not known whether or not a data type supports null values.
224 */
225#define SQL_NULLABLE_UNKNOWN 2
226
227/* Values returned by SQLGetTypeInfo() to show WHERE clause
228 * supported
229 */
230#if (ODBCVER >= 0x0300)
231#define SQL_PRED_NONE 0
232#define SQL_PRED_CHAR 1
233#define SQL_PRED_BASIC 2
234#endif
235
236/* values of UNNAMED field in descriptor */
237#if (ODBCVER >= 0x0300)
238#define SQL_NAMED 0
239#define SQL_UNNAMED 1
240#endif
241
242/* values of ALLOC_TYPE field in descriptor */
243#if (ODBCVER >= 0x0300)
244#define SQL_DESC_ALLOC_AUTO 1
245#define SQL_DESC_ALLOC_USER 2
246#endif
247
248/* FreeStmt() options */
249#define SQL_CLOSE 0
250#define SQL_DROP 1
251#define SQL_UNBIND 2
252#define SQL_RESET_PARAMS 3
253
254/* Codes used for FetchOrientation in SQLFetchScroll(),
255 and in SQLDataSources()
256*/
257#define SQL_FETCH_NEXT 1
258#define SQL_FETCH_FIRST 2
259
260/* Other codes used for FetchOrientation in SQLFetchScroll() */
261#define SQL_FETCH_LAST 3
262#define SQL_FETCH_PRIOR 4
263#define SQL_FETCH_ABSOLUTE 5
264#define SQL_FETCH_RELATIVE 6
265
266/* SQLEndTran() options */
267#define SQL_COMMIT 0
268#define SQL_ROLLBACK 1
269
270/* null handles returned by SQLAllocHandle() */
271#define SQL_NULL_HENV 0
272#define SQL_NULL_HDBC 0
273#define SQL_NULL_HSTMT 0
274#if (ODBCVER >= 0x0300)
275#define SQL_NULL_HDESC 0
276#define SQL_NULL_DESC 0
277#endif
278
279/* null handle used in place of parent handle when allocating HENV */
280#if (ODBCVER >= 0x0300)
281#define SQL_NULL_HANDLE 0L
282#endif
283
284/* Values that may appear in the result set of SQLSpecialColumns() */
285#define SQL_SCOPE_CURROW 0
286#define SQL_SCOPE_TRANSACTION 1
287#define SQL_SCOPE_SESSION 2
288
289#define SQL_PC_UNKNOWN 0
290#if (ODBCVER >= 0x0300)
291#define SQL_PC_NON_PSEUDO 1
292#endif
293#define SQL_PC_PSEUDO 2
294
295/* Reserved value for the IdentifierType argument of SQLSpecialColumns() */
296#if (ODBCVER >= 0x0300)
297#define SQL_ROW_IDENTIFIER 1
298#endif
299
300/* Reserved values for UNIQUE argument of SQLStatistics() */
301#define SQL_INDEX_UNIQUE 0
302#define SQL_INDEX_ALL 1
303
304/* Values that may appear in the result set of SQLStatistics() */
305#define SQL_INDEX_CLUSTERED 1
306#define SQL_INDEX_HASHED 2
307#define SQL_INDEX_OTHER 3
308
309/* SQLGetFunctions() values to identify ODBC APIs */
310#define SQL_API_SQLALLOCCONNECT 1
311#define SQL_API_SQLALLOCENV 2
312#if (ODBCVER >= 0x0300)
313#define SQL_API_SQLALLOCHANDLE 1001
314#endif
315#define SQL_API_SQLALLOCSTMT 3
316#define SQL_API_SQLBINDCOL 4
317#if (ODBCVER >= 0x0300)
318#define SQL_API_SQLBINDPARAM 1002
319#endif
320#define SQL_API_SQLCANCEL 5
321#if (ODBCVER >= 0x0300)
322#define SQL_API_SQLCLOSECURSOR 1003
323#define SQL_API_SQLCOLATTRIBUTE 6
324#endif
325#define SQL_API_SQLCOLUMNS 40
326#define SQL_API_SQLCONNECT 7
327#if (ODBCVER >= 0x0300)
328#define SQL_API_SQLCOPYDESC 1004
329#endif
330#define SQL_API_SQLDATASOURCES 57
331#define SQL_API_SQLDESCRIBECOL 8
332#define SQL_API_SQLDISCONNECT 9
333#if (ODBCVER >= 0x0300)
334#define SQL_API_SQLENDTRAN 1005
335#endif
336#define SQL_API_SQLERROR 10
337#define SQL_API_SQLEXECDIRECT 11
338#define SQL_API_SQLEXECUTE 12
339#define SQL_API_SQLFETCH 13
340#if (ODBCVER >= 0x0300)
341#define SQL_API_SQLFETCHSCROLL 1021
342#endif
343#define SQL_API_SQLFREECONNECT 14
344#define SQL_API_SQLFREEENV 15
345#if (ODBCVER >= 0x0300)
346#define SQL_API_SQLFREEHANDLE 1006
347#endif
348#define SQL_API_SQLFREESTMT 16
349#if (ODBCVER >= 0x0300)
350#define SQL_API_SQLGETCONNECTATTR 1007
351#endif
352#define SQL_API_SQLGETCONNECTOPTION 42
353#define SQL_API_SQLGETCURSORNAME 17
354#define SQL_API_SQLGETDATA 43
355#if (ODBCVER >= 0x0300)
356#define SQL_API_SQLGETDESCFIELD 1008
357#define SQL_API_SQLGETDESCREC 1009
358#define SQL_API_SQLGETDIAGFIELD 1010
359#define SQL_API_SQLGETDIAGREC 1011
360#define SQL_API_SQLGETENVATTR 1012
361#endif
362#define SQL_API_SQLGETFUNCTIONS 44
363#define SQL_API_SQLGETINFO 45
364#if (ODBCVER >= 0x0300)
365#define SQL_API_SQLGETSTMTATTR 1014
366#endif
367#define SQL_API_SQLGETSTMTOPTION 46
368#define SQL_API_SQLGETTYPEINFO 47
369#define SQL_API_SQLNUMRESULTCOLS 18
370#define SQL_API_SQLPARAMDATA 48
371#define SQL_API_SQLPREPARE 19
372#define SQL_API_SQLPUTDATA 49
373#define SQL_API_SQLROWCOUNT 20
374#if (ODBCVER >= 0x0300)
375#define SQL_API_SQLSETCONNECTATTR 1016
376#endif
377#define SQL_API_SQLSETCONNECTOPTION 50
378#define SQL_API_SQLSETCURSORNAME 21
379#if (ODBCVER >= 0x0300)
380#define SQL_API_SQLSETDESCFIELD 1017
381#define SQL_API_SQLSETDESCREC 1018
382#define SQL_API_SQLSETENVATTR 1019
383#endif
384#define SQL_API_SQLSETPARAM 22
385#if (ODBCVER >= 0x0300)
386#define SQL_API_SQLSETSTMTATTR 1020
387#endif
388#define SQL_API_SQLSETSTMTOPTION 51
389#define SQL_API_SQLSPECIALCOLUMNS 52
390#define SQL_API_SQLSTATISTICS 53
391#define SQL_API_SQLTABLES 54
392#define SQL_API_SQLTRANSACT 23
393
394#if (ODBCVER >= 0x0380)
395#define SQL_API_SQLCANCELHANDLE 1022
396#endif
397
398/* Information requested by SQLGetInfo() */
399#if (ODBCVER >= 0x0300)
400#define SQL_MAX_DRIVER_CONNECTIONS 0
401#define SQL_MAXIMUM_DRIVER_CONNECTIONS SQL_MAX_DRIVER_CONNECTIONS
402#define SQL_MAX_CONCURRENT_ACTIVITIES 1
403#define SQL_MAXIMUM_CONCURRENT_ACTIVITIES SQL_MAX_CONCURRENT_ACTIVITIES
404#endif
405#define SQL_DATA_SOURCE_NAME 2
406#define SQL_FETCH_DIRECTION 8
407#define SQL_SERVER_NAME 13
408#define SQL_SEARCH_PATTERN_ESCAPE 14
409#define SQL_DBMS_NAME 17
410#define SQL_DBMS_VER 18
411#define SQL_ACCESSIBLE_TABLES 19
412#define SQL_ACCESSIBLE_PROCEDURES 20
413#define SQL_CURSOR_COMMIT_BEHAVIOR 23
414#define SQL_DATA_SOURCE_READ_ONLY 25
415#define SQL_DEFAULT_TXN_ISOLATION 26
416#define SQL_IDENTIFIER_CASE 28
417#define SQL_IDENTIFIER_QUOTE_CHAR 29
418#define SQL_MAX_COLUMN_NAME_LEN 30
419#define SQL_MAXIMUM_COLUMN_NAME_LENGTH SQL_MAX_COLUMN_NAME_LEN
420#define SQL_MAX_CURSOR_NAME_LEN 31
421#define SQL_MAXIMUM_CURSOR_NAME_LENGTH SQL_MAX_CURSOR_NAME_LEN
422#define SQL_MAX_SCHEMA_NAME_LEN 32
423#define SQL_MAXIMUM_SCHEMA_NAME_LENGTH SQL_MAX_SCHEMA_NAME_LEN
424#define SQL_MAX_CATALOG_NAME_LEN 34
425#define SQL_MAXIMUM_CATALOG_NAME_LENGTH SQL_MAX_CATALOG_NAME_LEN
426#define SQL_MAX_TABLE_NAME_LEN 35
427#define SQL_SCROLL_CONCURRENCY 43
428#define SQL_TXN_CAPABLE 46
429#define SQL_TRANSACTION_CAPABLE SQL_TXN_CAPABLE
430#define SQL_USER_NAME 47
431#define SQL_TXN_ISOLATION_OPTION 72
432#define SQL_TRANSACTION_ISOLATION_OPTION SQL_TXN_ISOLATION_OPTION
433#define SQL_INTEGRITY 73
434#define SQL_GETDATA_EXTENSIONS 81
435#define SQL_NULL_COLLATION 85
436#define SQL_ALTER_TABLE 86
437#define SQL_ORDER_BY_COLUMNS_IN_SELECT 90
438#define SQL_SPECIAL_CHARACTERS 94
439#define SQL_MAX_COLUMNS_IN_GROUP_BY 97
440#define SQL_MAXIMUM_COLUMNS_IN_GROUP_BY SQL_MAX_COLUMNS_IN_GROUP_BY
441#define SQL_MAX_COLUMNS_IN_INDEX 98
442#define SQL_MAXIMUM_COLUMNS_IN_INDEX SQL_MAX_COLUMNS_IN_INDEX
443#define SQL_MAX_COLUMNS_IN_ORDER_BY 99
444#define SQL_MAXIMUM_COLUMNS_IN_ORDER_BY SQL_MAX_COLUMNS_IN_ORDER_BY
445#define SQL_MAX_COLUMNS_IN_SELECT 100
446#define SQL_MAXIMUM_COLUMNS_IN_SELECT SQL_MAX_COLUMNS_IN_SELECT
447#define SQL_MAX_COLUMNS_IN_TABLE 101
448#define SQL_MAX_INDEX_SIZE 102
449#define SQL_MAXIMUM_INDEX_SIZE SQL_MAX_INDEX_SIZE
450#define SQL_MAX_ROW_SIZE 104
451#define SQL_MAXIMUM_ROW_SIZE SQL_MAX_ROW_SIZE
452#define SQL_MAX_STATEMENT_LEN 105
453#define SQL_MAXIMUM_STATEMENT_LENGTH SQL_MAX_STATEMENT_LEN
454#define SQL_MAX_TABLES_IN_SELECT 106
455#define SQL_MAXIMUM_TABLES_IN_SELECT SQL_MAX_TABLES_IN_SELECT
456#define SQL_MAX_USER_NAME_LEN 107
457#define SQL_MAXIMUM_USER_NAME_LENGTH SQL_MAX_USER_NAME_LEN
458#if (ODBCVER >= 0x0300)
459#define SQL_OJ_CAPABILITIES 115
460#define SQL_OUTER_JOIN_CAPABILITIES SQL_OJ_CAPABILITIES
461#endif /* ODBCVER >= 0x0300 */
462
463#if (ODBCVER >= 0x0300)
464#define SQL_XOPEN_CLI_YEAR 10000
465#define SQL_CURSOR_SENSITIVITY 10001
466#define SQL_DESCRIBE_PARAMETER 10002
467#define SQL_CATALOG_NAME 10003
468#define SQL_COLLATION_SEQ 10004
469#define SQL_MAX_IDENTIFIER_LEN 10005
470#define SQL_MAXIMUM_IDENTIFIER_LENGTH SQL_MAX_IDENTIFIER_LEN
471#endif /* ODBCVER >= 0x0300 */
472
473/* SQL_ALTER_TABLE bitmasks */
474#if (ODBCVER >= 0x0200)
475#define SQL_AT_ADD_COLUMN 0x00000001L
476#define SQL_AT_DROP_COLUMN 0x00000002L
477#endif /* ODBCVER >= 0x0200 */
478
479#if (ODBCVER >= 0x0300)
480#define SQL_AT_ADD_CONSTRAINT 0x00000008L
481
482/* The following bitmasks are ODBC extensions and defined in sqlext.h
483*#define SQL_AT_COLUMN_SINGLE 0x00000020L
484*#define SQL_AT_ADD_COLUMN_DEFAULT 0x00000040L
485*#define SQL_AT_ADD_COLUMN_COLLATION 0x00000080L
486*#define SQL_AT_SET_COLUMN_DEFAULT 0x00000100L
487*#define SQL_AT_DROP_COLUMN_DEFAULT 0x00000200L
488*#define SQL_AT_DROP_COLUMN_CASCADE 0x00000400L
489*#define SQL_AT_DROP_COLUMN_RESTRICT 0x00000800L
490*#define SQL_AT_ADD_TABLE_CONSTRAINT 0x00001000L
491*#define SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE 0x00002000L
492*#define SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT 0x00004000L
493*#define SQL_AT_CONSTRAINT_NAME_DEFINITION 0x00008000L
494*#define SQL_AT_CONSTRAINT_INITIALLY_DEFERRED 0x00010000L
495*#define SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE 0x00020000L
496*#define SQL_AT_CONSTRAINT_DEFERRABLE 0x00040000L
497*#define SQL_AT_CONSTRAINT_NON_DEFERRABLE 0x00080000L
498*/
499#endif /* ODBCVER >= 0x0300 */
500
501
502/* SQL_ASYNC_MODE values */
503#if (ODBCVER >= 0x0300)
504#define SQL_AM_NONE 0
505#define SQL_AM_CONNECTION 1
506#define SQL_AM_STATEMENT 2
507#endif
508
509/* SQL_CURSOR_COMMIT_BEHAVIOR values */
510#define SQL_CB_DELETE 0
511#define SQL_CB_CLOSE 1
512#define SQL_CB_PRESERVE 2
513
514/* SQL_FETCH_DIRECTION bitmasks */
515#define SQL_FD_FETCH_NEXT 0x00000001L
516#define SQL_FD_FETCH_FIRST 0x00000002L
517#define SQL_FD_FETCH_LAST 0x00000004L
518#define SQL_FD_FETCH_PRIOR 0x00000008L
519#define SQL_FD_FETCH_ABSOLUTE 0x00000010L
520#define SQL_FD_FETCH_RELATIVE 0x00000020L
521
522/* SQL_GETDATA_EXTENSIONS bitmasks */
523#define SQL_GD_ANY_COLUMN 0x00000001L
524#define SQL_GD_ANY_ORDER 0x00000002L
525
526/* SQL_IDENTIFIER_CASE values */
527#define SQL_IC_UPPER 1
528#define SQL_IC_LOWER 2
529#define SQL_IC_SENSITIVE 3
530#define SQL_IC_MIXED 4
531
532/* SQL_OJ_CAPABILITIES bitmasks */
533/* NB: this means 'outer join', not what you may be thinking */
534
535
536#if (ODBCVER >= 0x0201)
537#define SQL_OJ_LEFT 0x00000001L
538#define SQL_OJ_RIGHT 0x00000002L
539#define SQL_OJ_FULL 0x00000004L
540#define SQL_OJ_NESTED 0x00000008L
541#define SQL_OJ_NOT_ORDERED 0x00000010L
542#define SQL_OJ_INNER 0x00000020L
543#define SQL_OJ_ALL_COMPARISON_OPS 0x00000040L
544#endif
545
546/* SQL_SCROLL_CONCURRENCY bitmasks */
547#define SQL_SCCO_READ_ONLY 0x00000001L
548#define SQL_SCCO_LOCK 0x00000002L
549#define SQL_SCCO_OPT_ROWVER 0x00000004L
550#define SQL_SCCO_OPT_VALUES 0x00000008L
551
552/* SQL_TXN_CAPABLE values */
553#define SQL_TC_NONE 0
554#define SQL_TC_DML 1
555#define SQL_TC_ALL 2
556#define SQL_TC_DDL_COMMIT 3
557#define SQL_TC_DDL_IGNORE 4
558
559/* SQL_TXN_ISOLATION_OPTION bitmasks */
560#define SQL_TXN_READ_UNCOMMITTED 0x00000001L
561#define SQL_TRANSACTION_READ_UNCOMMITTED SQL_TXN_READ_UNCOMMITTED
562#define SQL_TXN_READ_COMMITTED 0x00000002L
563#define SQL_TRANSACTION_READ_COMMITTED SQL_TXN_READ_COMMITTED
564#define SQL_TXN_REPEATABLE_READ 0x00000004L
565#define SQL_TRANSACTION_REPEATABLE_READ SQL_TXN_REPEATABLE_READ
566#define SQL_TXN_SERIALIZABLE 0x00000008L
567#define SQL_TRANSACTION_SERIALIZABLE SQL_TXN_SERIALIZABLE
568
569/* SQL_NULL_COLLATION values */
570#define SQL_NC_HIGH 0
571#define SQL_NC_LOW 1
572
573 SQLRETURN SQL_API SQLAllocConnect(SQLHENV EnvironmentHandle,
574 SQLHDBC *ConnectionHandle);
575
576 SQLRETURN SQL_API SQLAllocEnv(SQLHENV *EnvironmentHandle);
577
578#if (ODBCVER >= 0x0300)
579 SQLRETURN SQL_API SQLAllocHandle(SQLSMALLINT HandleType,
580 SQLHANDLE InputHandle, SQLHANDLE *OutputHandle);
581#endif
582
583 SQLRETURN SQL_API SQLAllocStmt(SQLHDBC ConnectionHandle,
584 SQLHSTMT *StatementHandle);
585
586 SQLRETURN SQL_API SQLBindCol(SQLHSTMT StatementHandle,
587 SQLUSMALLINT ColumnNumber, SQLSMALLINT TargetType,
588 SQLPOINTER TargetValue, SQLLEN BufferLength,
589 SQLLEN *StrLen_or_Ind);
590
591#if (ODBCVER >= 0x0300)
592 SQLRETURN SQL_API SQLBindParam(SQLHSTMT StatementHandle,
593 SQLUSMALLINT ParameterNumber, SQLSMALLINT ValueType,
594 SQLSMALLINT ParameterType, SQLULEN LengthPrecision,
595 SQLSMALLINT ParameterScale, SQLPOINTER ParameterValue,
596 SQLLEN *StrLen_or_Ind);
597#endif
598
599 SQLRETURN SQL_API SQLCancel(SQLHSTMT StatementHandle);
600
601#if (ODBCVER >= 0x0380)
602SQLRETURN SQL_API SQLCancelHandle(SQLSMALLINT HandleType, SQLHANDLE InputHandle);
603#endif
604
605
606#if (ODBCVER >= 0x0300)
607 SQLRETURN SQL_API SQLCloseCursor(SQLHSTMT StatementHandle);
608
609 SQLRETURN SQL_API SQLColAttribute(SQLHSTMT StatementHandle,
610 SQLUSMALLINT ColumnNumber, SQLUSMALLINT FieldIdentifier,
611 SQLPOINTER CharacterAttribute, SQLSMALLINT BufferLength,
612 SQLSMALLINT *StringLength, SQLLEN *NumericAttribute );
613
614 /* spec says (SQLPOINTER) not (SQLEN*) - PAH */
615 /* Ms now say SQLLEN*
616 http://msdn.microsoft.com/library/en-us/odbc/htm/dasdkodbcoverview_64bit.asp - NG */
617
618#endif
619
620
621 SQLRETURN SQL_API SQLColumns(SQLHSTMT StatementHandle,
622 SQLCHAR *CatalogName, SQLSMALLINT NameLength1,
623 SQLCHAR *SchemaName, SQLSMALLINT NameLength2,
624 SQLCHAR *TableName, SQLSMALLINT NameLength3,
625 SQLCHAR *ColumnName, SQLSMALLINT NameLength4);
626
627
628 SQLRETURN SQL_API SQLConnect(SQLHDBC ConnectionHandle,
629 SQLCHAR *ServerName, SQLSMALLINT NameLength1,
630 SQLCHAR *UserName, SQLSMALLINT NameLength2,
631 SQLCHAR *Authentication, SQLSMALLINT NameLength3);
632
633#if (ODBCVER >= 0x0300)
634 SQLRETURN SQL_API SQLCopyDesc(SQLHDESC SourceDescHandle,
635 SQLHDESC TargetDescHandle);
636#endif
637
638 SQLRETURN SQL_API SQLDataSources(SQLHENV EnvironmentHandle,
639 SQLUSMALLINT Direction, SQLCHAR *ServerName,
640 SQLSMALLINT BufferLength1, SQLSMALLINT *NameLength1,
641 SQLCHAR *Description, SQLSMALLINT BufferLength2,
642 SQLSMALLINT *NameLength2);
643
644 SQLRETURN SQL_API SQLDescribeCol(SQLHSTMT StatementHandle,
645 SQLUSMALLINT ColumnNumber, SQLCHAR *ColumnName,
646 SQLSMALLINT BufferLength, SQLSMALLINT *NameLength,
647 SQLSMALLINT *DataType, SQLULEN *ColumnSize,
648 SQLSMALLINT *DecimalDigits, SQLSMALLINT *Nullable);
649
650 SQLRETURN SQL_API SQLDisconnect(SQLHDBC ConnectionHandle);
651
652#if (ODBCVER >= 0x0300)
653 SQLRETURN SQL_API SQLEndTran(SQLSMALLINT HandleType, SQLHANDLE Handle,
654 SQLSMALLINT CompletionType);
655#endif
656
657 SQLRETURN SQL_API SQLError(SQLHENV EnvironmentHandle,
658 SQLHDBC ConnectionHandle, SQLHSTMT StatementHandle,
659 SQLCHAR *Sqlstate, SQLINTEGER *NativeError,
660 SQLCHAR *MessageText, SQLSMALLINT BufferLength,
661 SQLSMALLINT *TextLength);
662
663 SQLRETURN SQL_API SQLExecDirect(SQLHSTMT StatementHandle,
664 SQLCHAR *StatementText, SQLINTEGER TextLength);
665
666 SQLRETURN SQL_API SQLExecute(SQLHSTMT StatementHandle);
667
668 SQLRETURN SQL_API SQLFetch(SQLHSTMT StatementHandle);
669
670#if (ODBCVER >= 0x0300)
671 SQLRETURN SQL_API SQLFetchScroll(SQLHSTMT StatementHandle,
672 SQLSMALLINT FetchOrientation, SQLLEN FetchOffset);
673#endif
674
675 SQLRETURN SQL_API SQLFreeConnect(SQLHDBC ConnectionHandle);
676
677 SQLRETURN SQL_API SQLFreeEnv(SQLHENV EnvironmentHandle);
678
679#if (ODBCVER >= 0x0300)
680 SQLRETURN SQL_API SQLFreeHandle(SQLSMALLINT HandleType, SQLHANDLE Handle);
681#endif
682
683 SQLRETURN SQL_API SQLFreeStmt(SQLHSTMT StatementHandle,
684 SQLUSMALLINT Option);
685
686#if (ODBCVER >= 0x0300)
687 SQLRETURN SQL_API SQLGetConnectAttr(SQLHDBC ConnectionHandle,
688 SQLINTEGER Attribute, SQLPOINTER Value,
689 SQLINTEGER BufferLength, SQLINTEGER *StringLength);
690#endif
691
692 SQLRETURN SQL_API SQLGetConnectOption(SQLHDBC ConnectionHandle,
693 SQLUSMALLINT Option, SQLPOINTER Value);
694
695 SQLRETURN SQL_API SQLGetCursorName(SQLHSTMT StatementHandle,
696 SQLCHAR *CursorName, SQLSMALLINT BufferLength,
697 SQLSMALLINT *NameLength);
698
699 SQLRETURN SQL_API SQLGetData(SQLHSTMT StatementHandle,
700 SQLUSMALLINT ColumnNumber, SQLSMALLINT TargetType,
701 SQLPOINTER TargetValue, SQLLEN BufferLength,
702 SQLLEN *StrLen_or_Ind);
703
704#if (ODBCVER >= 0x0300)
705 SQLRETURN SQLGetDescField(SQLHDESC DescriptorHandle,
706 SQLSMALLINT RecNumber, SQLSMALLINT FieldIdentifier,
707 SQLPOINTER Value, SQLINTEGER BufferLength,
708 SQLINTEGER *StringLength);
709
710 SQLRETURN SQL_API SQLGetDescRec(SQLHDESC DescriptorHandle,
711 SQLSMALLINT RecNumber, SQLCHAR *Name,
712 SQLSMALLINT BufferLength, SQLSMALLINT *StringLength,
713 SQLSMALLINT *Type, SQLSMALLINT *SubType,
714 SQLLEN *Length, SQLSMALLINT *Precision,
715 SQLSMALLINT *Scale, SQLSMALLINT *Nullable);
716
717 SQLRETURN SQL_API SQLGetDiagField(SQLSMALLINT HandleType, SQLHANDLE Handle,
718 SQLSMALLINT RecNumber, SQLSMALLINT DiagIdentifier,
719 SQLPOINTER DiagInfo, SQLSMALLINT BufferLength,
720 SQLSMALLINT *StringLength);
721
722 SQLRETURN SQL_API SQLGetDiagRec(SQLSMALLINT HandleType, SQLHANDLE Handle,
723 SQLSMALLINT RecNumber, SQLCHAR *Sqlstate,
724 SQLINTEGER *NativeError, SQLCHAR *MessageText,
725 SQLSMALLINT BufferLength, SQLSMALLINT *TextLength);
726
727 SQLRETURN SQL_API SQLGetEnvAttr(SQLHENV EnvironmentHandle,
728 SQLINTEGER Attribute, SQLPOINTER Value,
729 SQLINTEGER BufferLength, SQLINTEGER *StringLength);
730#endif /* ODBCVER >= 0x0300 */
731
732 SQLRETURN SQL_API SQLGetFunctions(SQLHDBC ConnectionHandle,
733 SQLUSMALLINT FunctionId, SQLUSMALLINT *Supported);
734
735 SQLRETURN SQL_API SQLGetInfo(SQLHDBC ConnectionHandle,
736 SQLUSMALLINT InfoType, SQLPOINTER InfoValue,
737 SQLSMALLINT BufferLength, SQLSMALLINT *StringLength);
738
739#if (ODBCVER >= 0x0300)
740 SQLRETURN SQL_API SQLGetStmtAttr(SQLHSTMT StatementHandle,
741 SQLINTEGER Attribute, SQLPOINTER Value,
742 SQLINTEGER BufferLength, SQLINTEGER *StringLength);
743#endif /* ODBCVER >= 0x0300 */
744
745 SQLRETURN SQL_API SQLGetStmtOption(SQLHSTMT StatementHandle,
746 SQLUSMALLINT Option, SQLPOINTER Value);
747
748 SQLRETURN SQL_API SQLGetTypeInfo(SQLHSTMT StatementHandle,
749 SQLSMALLINT DataType);
750
751 SQLRETURN SQL_API SQLNumResultCols(SQLHSTMT StatementHandle,
752 SQLSMALLINT *ColumnCount);
753
754 SQLRETURN SQL_API SQLParamData(SQLHSTMT StatementHandle,
755 SQLPOINTER *Value);
756
757 SQLRETURN SQL_API SQLPrepare(SQLHSTMT StatementHandle,
758 SQLCHAR *StatementText, SQLINTEGER TextLength);
759
760 SQLRETURN SQL_API SQLPutData(SQLHSTMT StatementHandle,
761 SQLPOINTER Data, SQLLEN StrLen_or_Ind);
762
763 SQLRETURN SQL_API SQLRowCount(SQLHSTMT StatementHandle,
764 SQLLEN *RowCount);
765
766#if (ODBCVER >= 0x0300)
767 SQLRETURN SQL_API SQLSetConnectAttr(SQLHDBC ConnectionHandle,
768 SQLINTEGER Attribute, SQLPOINTER Value,
769 SQLINTEGER StringLength);
770#endif /* ODBCVER >= 0x0300 */
771
772 SQLRETURN SQL_API SQLSetConnectOption(SQLHDBC ConnectionHandle,
773 SQLUSMALLINT Option, SQLULEN Value);
774
775 SQLRETURN SQL_API SQLSetCursorName(SQLHSTMT StatementHandle,
776 SQLCHAR *CursorName, SQLSMALLINT NameLength);
777
778#if (ODBCVER >= 0x0300)
779 SQLRETURN SQL_API SQLSetDescField(SQLHDESC DescriptorHandle,
780 SQLSMALLINT RecNumber, SQLSMALLINT FieldIdentifier,
781 SQLPOINTER Value, SQLINTEGER BufferLength);
782
783 SQLRETURN SQL_API SQLSetDescRec(SQLHDESC DescriptorHandle,
784 SQLSMALLINT RecNumber, SQLSMALLINT Type,
785 SQLSMALLINT SubType, SQLLEN Length,
786 SQLSMALLINT Precision, SQLSMALLINT Scale,
787 SQLPOINTER Data, SQLLEN *StringLength,
788 SQLLEN *Indicator);
789
790 SQLRETURN SQL_API SQLSetEnvAttr(SQLHENV EnvironmentHandle,
791 SQLINTEGER Attribute, SQLPOINTER Value,
792 SQLINTEGER StringLength);
793#endif /* ODBCVER >= 0x0300 */
794
795 SQLRETURN SQL_API SQLSetParam(SQLHSTMT StatementHandle,
796 SQLUSMALLINT ParameterNumber, SQLSMALLINT ValueType,
797 SQLSMALLINT ParameterType, SQLULEN LengthPrecision,
798 SQLSMALLINT ParameterScale, SQLPOINTER ParameterValue,
799 SQLLEN *StrLen_or_Ind);
800
801#if (ODBCVER >= 0x0300)
802 SQLRETURN SQL_API SQLSetStmtAttr(SQLHSTMT StatementHandle,
803 SQLINTEGER Attribute, SQLPOINTER Value,
804 SQLINTEGER StringLength);
805#endif
806
807 SQLRETURN SQL_API SQLSetStmtOption(SQLHSTMT StatementHandle,
808 SQLUSMALLINT Option, SQLULEN Value);
809
810 SQLRETURN SQL_API SQLSpecialColumns(SQLHSTMT StatementHandle,
811 SQLUSMALLINT IdentifierType, SQLCHAR *CatalogName,
812 SQLSMALLINT NameLength1, SQLCHAR *SchemaName,
813 SQLSMALLINT NameLength2, SQLCHAR *TableName,
814 SQLSMALLINT NameLength3, SQLUSMALLINT Scope,
815 SQLUSMALLINT Nullable);
816
817 SQLRETURN SQL_API SQLStatistics(SQLHSTMT StatementHandle,
818 SQLCHAR *CatalogName, SQLSMALLINT NameLength1,
819 SQLCHAR *SchemaName, SQLSMALLINT NameLength2,
820 SQLCHAR *TableName, SQLSMALLINT NameLength3,
821 SQLUSMALLINT Unique, SQLUSMALLINT Reserved);
822
823 SQLRETURN SQL_API SQLTables(SQLHSTMT StatementHandle,
824 SQLCHAR *CatalogName, SQLSMALLINT NameLength1,
825 SQLCHAR *SchemaName, SQLSMALLINT NameLength2,
826 SQLCHAR *TableName, SQLSMALLINT NameLength3,
827 SQLCHAR *TableType, SQLSMALLINT NameLength4);
828
829 SQLRETURN SQL_API SQLTransact(SQLHENV EnvironmentHandle,
830 SQLHDBC ConnectionHandle, SQLUSMALLINT CompletionType);
831
832#ifdef __cplusplus
833}
834#endif
835#endif
836

Warning: That file was not part of the compilation database. It may have many parsing errors.