Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
12ceb111
Commit
12ceb111
authored
Mar 27, 2001
by
Bruce Momjian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ODBC source code cleanup. Mostly alignment of #define constants.
parent
ff713018
Changes
44
Hide whitespace changes
Inline
Side-by-side
Showing
44 changed files
with
1070 additions
and
1082 deletions
+1070
-1082
src/interfaces/odbc/bind.c
src/interfaces/odbc/bind.c
+0
-1
src/interfaces/odbc/bind.h
src/interfaces/odbc/bind.h
+0
-1
src/interfaces/odbc/columninfo.c
src/interfaces/odbc/columninfo.c
+0
-1
src/interfaces/odbc/columninfo.h
src/interfaces/odbc/columninfo.h
+0
-2
src/interfaces/odbc/connection.c
src/interfaces/odbc/connection.c
+0
-1
src/interfaces/odbc/connection.h
src/interfaces/odbc/connection.h
+50
-51
src/interfaces/odbc/convert.c
src/interfaces/odbc/convert.c
+0
-1
src/interfaces/odbc/convert.h
src/interfaces/odbc/convert.h
+6
-7
src/interfaces/odbc/dlg_specific.c
src/interfaces/odbc/dlg_specific.c
+0
-1
src/interfaces/odbc/dlg_specific.h
src/interfaces/odbc/dlg_specific.h
+63
-56
src/interfaces/odbc/drvconn.c
src/interfaces/odbc/drvconn.c
+0
-1
src/interfaces/odbc/environ.c
src/interfaces/odbc/environ.c
+0
-1
src/interfaces/odbc/environ.h
src/interfaces/odbc/environ.h
+0
-1
src/interfaces/odbc/execute.c
src/interfaces/odbc/execute.c
+0
-1
src/interfaces/odbc/gpps.c
src/interfaces/odbc/gpps.c
+18
-11
src/interfaces/odbc/gpps.h
src/interfaces/odbc/gpps.h
+3
-2
src/interfaces/odbc/info.c
src/interfaces/odbc/info.c
+0
-1
src/interfaces/odbc/iodbc.h
src/interfaces/odbc/iodbc.h
+22
-22
src/interfaces/odbc/isql.h
src/interfaces/odbc/isql.h
+77
-75
src/interfaces/odbc/isqlext.h
src/interfaces/odbc/isqlext.h
+644
-641
src/interfaces/odbc/lobj.c
src/interfaces/odbc/lobj.c
+0
-1
src/interfaces/odbc/lobj.h
src/interfaces/odbc/lobj.h
+11
-12
src/interfaces/odbc/misc.c
src/interfaces/odbc/misc.c
+0
-1
src/interfaces/odbc/misc.h
src/interfaces/odbc/misc.h
+16
-17
src/interfaces/odbc/multibyte.c
src/interfaces/odbc/multibyte.c
+1
-0
src/interfaces/odbc/multibyte.h
src/interfaces/odbc/multibyte.h
+22
-23
src/interfaces/odbc/options.c
src/interfaces/odbc/options.c
+0
-1
src/interfaces/odbc/parse.c
src/interfaces/odbc/parse.c
+0
-1
src/interfaces/odbc/pgtypes.c
src/interfaces/odbc/pgtypes.c
+0
-1
src/interfaces/odbc/pgtypes.h
src/interfaces/odbc/pgtypes.h
+44
-45
src/interfaces/odbc/psqlodbc.c
src/interfaces/odbc/psqlodbc.c
+0
-1
src/interfaces/odbc/psqlodbc.h
src/interfaces/odbc/psqlodbc.h
+35
-33
src/interfaces/odbc/qresult.c
src/interfaces/odbc/qresult.c
+0
-1
src/interfaces/odbc/qresult.h
src/interfaces/odbc/qresult.h
+13
-14
src/interfaces/odbc/results.c
src/interfaces/odbc/results.c
+0
-1
src/interfaces/odbc/setup.c
src/interfaces/odbc/setup.c
+1
-2
src/interfaces/odbc/socket.c
src/interfaces/odbc/socket.c
+0
-1
src/interfaces/odbc/socket.h
src/interfaces/odbc/socket.h
+10
-11
src/interfaces/odbc/statement.c
src/interfaces/odbc/statement.c
+0
-1
src/interfaces/odbc/statement.h
src/interfaces/odbc/statement.h
+34
-33
src/interfaces/odbc/tuple.c
src/interfaces/odbc/tuple.c
+0
-1
src/interfaces/odbc/tuple.h
src/interfaces/odbc/tuple.h
+0
-1
src/interfaces/odbc/tuplelist.c
src/interfaces/odbc/tuplelist.c
+0
-1
src/interfaces/odbc/tuplelist.h
src/interfaces/odbc/tuplelist.h
+0
-1
No files found.
src/interfaces/odbc/bind.c
View file @
12ceb111
/* Module: bind.c
/* Module: bind.c
*
*
* Description: This module contains routines related to binding
* Description: This module contains routines related to binding
...
...
src/interfaces/odbc/bind.h
View file @
12ceb111
/* File: bind.h
/* File: bind.h
*
*
* Description: See "bind.c"
* Description: See "bind.c"
...
...
src/interfaces/odbc/columninfo.c
View file @
12ceb111
/* Module: columninfo.c
/* Module: columninfo.c
*
*
* Description: This module contains routines related to
* Description: This module contains routines related to
...
...
src/interfaces/odbc/columninfo.h
View file @
12ceb111
/* File: columninfo.h
/* File: columninfo.h
*
*
* Description: See "columninfo.c"
* Description: See "columninfo.c"
...
@@ -40,5 +39,4 @@ void CI_set_num_fields(ColumnInfoClass *self, int new_num_fields);
...
@@ -40,5 +39,4 @@ void CI_set_num_fields(ColumnInfoClass *self, int new_num_fields);
void
CI_set_field_info
(
ColumnInfoClass
*
self
,
int
field_num
,
char
*
new_name
,
void
CI_set_field_info
(
ColumnInfoClass
*
self
,
int
field_num
,
char
*
new_name
,
Oid
new_adtid
,
Int2
new_adtsize
,
Int4
atttypmod
);
Oid
new_adtid
,
Int2
new_adtsize
,
Int4
atttypmod
);
#endif
#endif
src/interfaces/odbc/connection.c
View file @
12ceb111
/* Module: connection.c
/* Module: connection.c
*
*
* Description: This module contains routines related to
* Description: This module contains routines related to
...
...
src/interfaces/odbc/connection.h
View file @
12ceb111
/* File: connection.h
/* File: connection.h
*
*
* Description: See "connection.c"
* Description: See "connection.c"
...
@@ -38,41 +37,41 @@ typedef enum
...
@@ -38,41 +37,41 @@ typedef enum
}
CONN_Status
;
}
CONN_Status
;
/* These errors have general sql error state */
/* These errors have general sql error state */
#define CONNECTION_SERVER_NOT_REACHED
101
#define CONNECTION_SERVER_NOT_REACHED
101
#define CONNECTION_MSG_TOO_LONG
103
#define CONNECTION_MSG_TOO_LONG
103
#define CONNECTION_COULD_NOT_SEND
104
#define CONNECTION_COULD_NOT_SEND
104
#define CONNECTION_NO_SUCH_DATABASE
105
#define CONNECTION_NO_SUCH_DATABASE
105
#define CONNECTION_BACKEND_CRAZY
106
#define CONNECTION_BACKEND_CRAZY
106
#define CONNECTION_NO_RESPONSE
107
#define CONNECTION_NO_RESPONSE
107
#define CONNECTION_SERVER_REPORTED_ERROR
108
#define CONNECTION_SERVER_REPORTED_ERROR
108
#define CONNECTION_COULD_NOT_RECEIVE
109
#define CONNECTION_COULD_NOT_RECEIVE
109
#define CONNECTION_SERVER_REPORTED_WARNING
110
#define CONNECTION_SERVER_REPORTED_WARNING
110
#define CONNECTION_NEED_PASSWORD
112
#define CONNECTION_NEED_PASSWORD
112
/* These errors correspond to specific SQL states */
/* These errors correspond to specific SQL states */
#define CONN_INIREAD_ERROR
201
#define CONN_INIREAD_ERROR
201
#define CONN_OPENDB_ERROR
202
#define CONN_OPENDB_ERROR
202
#define CONN_STMT_ALLOC_ERROR
203
#define CONN_STMT_ALLOC_ERROR
203
#define CONN_IN_USE
204
#define CONN_IN_USE
204
#define CONN_UNSUPPORTED_OPTION
205
#define CONN_UNSUPPORTED_OPTION
205
/* Used by SetConnectoption to indicate unsupported options */
/* Used by SetConnectoption to indicate unsupported options */
#define CONN_INVALID_ARGUMENT_NO
206
#define CONN_INVALID_ARGUMENT_NO
206
/* SetConnectOption: corresponds to ODBC--"S1009" */
/* SetConnectOption: corresponds to ODBC--"S1009" */
#define CONN_TRANSACT_IN_PROGRES
207
#define CONN_TRANSACT_IN_PROGRES
207
#define CONN_NO_MEMORY_ERROR
208
#define CONN_NO_MEMORY_ERROR
208
#define CONN_NOT_IMPLEMENTED_ERROR
209
#define CONN_NOT_IMPLEMENTED_ERROR
209
#define CONN_INVALID_AUTHENTICATION
210
#define CONN_INVALID_AUTHENTICATION
210
#define CONN_AUTH_TYPE_UNSUPPORTED
211
#define CONN_AUTH_TYPE_UNSUPPORTED
211
#define CONN_UNABLE_TO_LOAD_DLL
212
#define CONN_UNABLE_TO_LOAD_DLL
212
#define CONN_OPTION_VALUE_CHANGED
213
#define CONN_OPTION_VALUE_CHANGED
213
#define CONN_VALUE_OUT_OF_RANGE
214
#define CONN_VALUE_OUT_OF_RANGE
214
#define CONN_TRUNCATED
215
#define CONN_TRUNCATED
215
/* Conn_status defines */
/* Conn_status defines */
#define CONN_IN_AUTOCOMMIT
0x01
#define CONN_IN_AUTOCOMMIT
0x01
#define CONN_IN_TRANSACTION
0x02
#define CONN_IN_TRANSACTION
0x02
/* AutoCommit functions */
/* AutoCommit functions */
#define CC_set_autocommit_off(x) (x->transact_status &= ~CONN_IN_AUTOCOMMIT)
#define CC_set_autocommit_off(x) (x->transact_status &= ~CONN_IN_AUTOCOMMIT)
...
@@ -86,31 +85,31 @@ typedef enum
...
@@ -86,31 +85,31 @@ typedef enum
/* Authentication types */
/* Authentication types */
#define AUTH_REQ_OK 0
#define AUTH_REQ_OK
0
#define AUTH_REQ_KRB4 1
#define AUTH_REQ_KRB4
1
#define AUTH_REQ_KRB5 2
#define AUTH_REQ_KRB5
2
#define AUTH_REQ_PASSWORD 3
#define AUTH_REQ_PASSWORD
3
#define AUTH_REQ_CRYPT 4
#define AUTH_REQ_CRYPT
4
/* Startup Packet sizes */
/* Startup Packet sizes */
#define SM_DATABASE 64
#define SM_DATABASE
64
#define SM_USER 32
#define SM_USER
32
#define SM_OPTIONS 64
#define SM_OPTIONS
64
#define SM_UNUSED 64
#define SM_UNUSED
64
#define SM_TTY 64
#define SM_TTY
64
/* Old 6.2 protocol defines */
/* Old 6.2 protocol defines */
#define NO_AUTHENTICATION 7
#define NO_AUTHENTICATION
7
#define PATH_SIZE 64
#define PATH_SIZE
64
#define ARGV_SIZE 64
#define ARGV_SIZE
64
#define NAMEDATALEN 16
#define NAMEDATALEN
16
typedef
unsigned
int
ProtocolVersion
;
typedef
unsigned
int
ProtocolVersion
;
#define PG_PROTOCOL(major, minor) (((major) << 16) | (minor))
#define PG_PROTOCOL(major, minor) (((major) << 16) | (minor))
#define PG_PROTOCOL_LATEST PG_PROTOCOL(2, 0)
#define PG_PROTOCOL_LATEST
PG_PROTOCOL(2, 0)
#define PG_PROTOCOL_63 PG_PROTOCOL(1, 0)
#define PG_PROTOCOL_63
PG_PROTOCOL(1, 0)
#define PG_PROTOCOL_62 PG_PROTOCOL(0, 0)
#define PG_PROTOCOL_62
PG_PROTOCOL(0, 0)
/* This startup packet is to support latest Postgres protocol (6.4, 6.3) */
/* This startup packet is to support latest Postgres protocol (6.4, 6.3) */
typedef
struct
_StartupPacket
typedef
struct
_StartupPacket
...
@@ -275,12 +274,12 @@ struct ConnectionClass_
...
@@ -275,12 +274,12 @@ struct ConnectionClass_
/* Accessor functions */
/* Accessor functions */
#define CC_get_socket(x) (x->sock)
#define CC_get_socket(x)
(x->sock)
#define CC_get_database(x) (x->connInfo.database)
#define CC_get_database(x)
(x->connInfo.database)
#define CC_get_server(x) (x->connInfo.server)
#define CC_get_server(x)
(x->connInfo.server)
#define CC_get_DSN(x) (x->connInfo.dsn)
#define CC_get_DSN(x)
(x->connInfo.dsn)
#define CC_get_username(x) (x->connInfo.username)
#define CC_get_username(x)
(x->connInfo.username)
#define CC_is_onlyread(x) (x->connInfo.onlyread[0] == '1')
#define CC_is_onlyread(x)
(x->connInfo.onlyread[0] == '1')
/* for CC_DSN_info */
/* for CC_DSN_info */
...
...
src/interfaces/odbc/convert.c
View file @
12ceb111
/* Module: convert.c
/* Module: convert.c
*
*
* Description: This module contains routines related to
* Description: This module contains routines related to
...
...
src/interfaces/odbc/convert.h
View file @
12ceb111
/* File: convert.h
/* File: convert.h
*
*
* Description: See "convert.c"
* Description: See "convert.c"
...
@@ -13,12 +12,12 @@
...
@@ -13,12 +12,12 @@
#include "psqlodbc.h"
#include "psqlodbc.h"
/* copy_and_convert results */
/* copy_and_convert results */
#define COPY_OK
0
#define COPY_OK
0
#define COPY_UNSUPPORTED_TYPE
1
#define COPY_UNSUPPORTED_TYPE
1
#define COPY_UNSUPPORTED_CONVERSION
2
#define COPY_UNSUPPORTED_CONVERSION
2
#define COPY_RESULT_TRUNCATED
3
#define COPY_RESULT_TRUNCATED
3
#define COPY_GENERAL_ERROR
4
#define COPY_GENERAL_ERROR
4
#define COPY_NO_DATA_FOUND
5
#define COPY_NO_DATA_FOUND
5
typedef
struct
typedef
struct
{
{
...
...
src/interfaces/odbc/dlg_specific.c
View file @
12ceb111
/* Module: dlg_specific.c
/* Module: dlg_specific.c
*
*
* Description: This module contains any specific code for handling
* Description: This module contains any specific code for handling
...
...
src/interfaces/odbc/dlg_specific.h
View file @
12ceb111
/* File: dlg_specific.h
/* File: dlg_specific.h
*
*
* Description: See "dlg_specific.c"
* Description: See "dlg_specific.c"
...
@@ -25,73 +24,81 @@
...
@@ -25,73 +24,81 @@
#endif
#endif
/* Unknown data type sizes */
/* Unknown data type sizes */
#define UNKNOWNS_AS_MAX 0
#define UNKNOWNS_AS_MAX
0
#define UNKNOWNS_AS_DONTKNOW 1
#define UNKNOWNS_AS_DONTKNOW
1
#define UNKNOWNS_AS_LONGEST 2
#define UNKNOWNS_AS_LONGEST
2
/* INI File Stuff */
/* INI File Stuff */
#ifndef WIN32
#ifndef WIN32
#define ODBC_INI ".odbc.ini"
#define ODBC_INI
".odbc.ini"
#ifdef ODBCINSTDIR
#ifdef ODBCINSTDIR
#define ODBCINST_INI ODBCINSTDIR "/odbcinst.ini"
#define ODBCINST_INI
ODBCINSTDIR "/odbcinst.ini"
#else
#else
#define ODBCINST_INI "/etc/odbcinst.ini"
#define ODBCINST_INI
"/etc/odbcinst.ini"
#endif
#endif
#else
/* WIN32 */
#else
/* WIN32 */
#define ODBC_INI "ODBC.INI"
/* ODBC initialization file */
#define ODBC_INI "ODBC.INI"
/* ODBC initialization
#define ODBCINST_INI "ODBCINST.INI"
/* ODBC Installation file */
* file */
#define ODBCINST_INI "ODBCINST.INI"
/* ODBC Installation
* file */
#endif
/* WIN32 */
#endif
/* WIN32 */
#define INI_DSN DBMS_NAME
/* Name of default Datasource in
#define INI_DSN DBMS_NAME
/* Name of default
* ini file (not used?) */
* Datasource in ini
#define INI_KDESC "Description"
/* Data source description */
* file (not used?) */
#define INI_SERVER "Servername"
/* Name of Server running the
#define INI_KDESC "Description"
/* Data source
* Postgres service */
* description */
#define INI_PORT "Port"
/* Port on which the Postmaster is
#define INI_SERVER "Servername"
/* Name of Server
* listening */
* running the Postgres
#define INI_DATABASE "Database"
/* Database Name */
* service */
#define INI_USER "Username"
/* Default User Name */
#define INI_PORT "Port"
/* Port on which the
#define INI_PASSWORD "Password"
/* Default Password */
* Postmaster is listening */
#define INI_DEBUG "Debug"
/* Debug flag */
#define INI_DATABASE "Database"
/* Database Name */
#define INI_FETCH "Fetch"
/* Fetch Max Count */
#define INI_USER "Username"
/* Default User Name */
#define INI_SOCKET "Socket"
/* Socket buffer size */
#define INI_PASSWORD "Password"
/* Default Password */
#define INI_READONLY "ReadOnly"
/* Database is read only */
#define INI_DEBUG "Debug"
/* Debug flag */
#define INI_COMMLOG "CommLog"
/* Communication to backend
#define INI_FETCH "Fetch"
/* Fetch Max Count */
* logging */
#define INI_SOCKET "Socket"
/* Socket buffer size */
#define INI_PROTOCOL "Protocol"
/* What protocol (6.2) */
#define INI_READONLY "ReadOnly"
/* Database is read only */
#define INI_OPTIMIZER "Optimizer"
/* Use backend genetic optimizer */
#define INI_COMMLOG "CommLog"
/* Communication to
#define INI_KSQO "Ksqo"
/* Keyset query optimization */
* backend logging */
#define INI_CONNSETTINGS "ConnSettings"
/* Anything to send to
#define INI_PROTOCOL "Protocol"
/* What protocol (6.2) */
* backend on successful
#define INI_OPTIMIZER "Optimizer"
/* Use backend genetic
* connection */
* optimizer */
#define INI_UNIQUEINDEX "UniqueIndex"
/* Recognize unique indexes */
#define INI_KSQO "Ksqo"
/* Keyset query
#define INI_UNKNOWNSIZES "UnknownSizes"
/* How to handle unknown
* optimization */
* result set sizes */
#define INI_CONNSETTINGS "ConnSettings"
/* Anything to send to
* backend on successful
#define INI_CANCELASFREESTMT "CancelAsFreeStmt"
* connection */
#define INI_UNIQUEINDEX "UniqueIndex"
/* Recognize unique
#define INI_USEDECLAREFETCH "UseDeclareFetch"
/* Use Declare/Fetch
* indexes */
* cursors */
#define INI_UNKNOWNSIZES "UnknownSizes"
/* How to handle unknown
* result set sizes */
#define INI_CANCELASFREESTMT "CancelAsFreeStmt"
#define INI_USEDECLAREFETCH "UseDeclareFetch"
/* Use Declare/Fetch
* cursors */
/* More ini stuff */
/* More ini stuff */
#define INI_TEXTASLONGVARCHAR "TextAsLongVarchar"
#define INI_TEXTASLONGVARCHAR
"TextAsLongVarchar"
#define INI_UNKNOWNSASLONGVARCHAR "UnknownsAsLongVarchar"
#define INI_UNKNOWNSASLONGVARCHAR
"UnknownsAsLongVarchar"
#define INI_BOOLSASCHAR "BoolsAsChar"
#define INI_BOOLSASCHAR
"BoolsAsChar"
#define INI_MAXVARCHARSIZE "MaxVarcharSize"
#define INI_MAXVARCHARSIZE
"MaxVarcharSize"
#define INI_MAXLONGVARCHARSIZE "MaxLongVarcharSize"
#define INI_MAXLONGVARCHARSIZE
"MaxLongVarcharSize"
#define INI_FAKEOIDINDEX "FakeOidIndex"
#define INI_FAKEOIDINDEX
"FakeOidIndex"
#define INI_SHOWOIDCOLUMN "ShowOidColumn"
#define INI_SHOWOIDCOLUMN
"ShowOidColumn"
#define INI_ROWVERSIONING "RowVersioning"
#define INI_ROWVERSIONING
"RowVersioning"
#define INI_SHOWSYSTEMTABLES "ShowSystemTables"
#define INI_SHOWSYSTEMTABLES
"ShowSystemTables"
#define INI_LIE "Lie"
#define INI_LIE
"Lie"
#define INI_PARSE "Parse"
#define INI_PARSE
"Parse"
#define INI_EXTRASYSTABLEPREFIXES "ExtraSysTablePrefixes"
#define INI_EXTRASYSTABLEPREFIXES
"ExtraSysTablePrefixes"
#define INI_TRANSLATIONNAME
"TranslationName"
#define INI_TRANSLATIONNAME
"TranslationName"
#define INI_TRANSLATIONDLL
"TranslationDLL"
#define INI_TRANSLATIONDLL
"TranslationDLL"
#define INI_TRANSLATIONOPTION
"TranslationOption"
#define INI_TRANSLATIONOPTION
"TranslationOption"
/* Connection Defaults */
/* Connection Defaults */
...
...
src/interfaces/odbc/drvconn.c
View file @
12ceb111
/* Module: drvconn.c
/* Module: drvconn.c
*
*
* Description: This module contains only routines related to
* Description: This module contains only routines related to
...
...
src/interfaces/odbc/environ.c
View file @
12ceb111
/* Module: environ.c
/* Module: environ.c
*
*
* Description: This module contains routines related to
* Description: This module contains routines related to
...
...
src/interfaces/odbc/environ.h
View file @
12ceb111
/* File: environ.h
/* File: environ.h
*
*
* Description: See "environ.c"
* Description: See "environ.c"
...
...
src/interfaces/odbc/execute.c
View file @
12ceb111
/* Module: execute.c
/* Module: execute.c
*
*
* Description: This module contains routines related to
* Description: This module contains routines related to
...
...
src/interfaces/odbc/gpps.c
View file @
12ceb111
/* GetPrivateProfileString() -- approximate implementation of */
/* GetPrivateProfileString()
/* Windows NT System Services version of GetPrivateProfileString() */
*
/* probably doesn't handle the NULL key for section name or value key */
* approximate implementation of
/* correctly also, doesn't provide Microsoft backwards compatability */
* Windows NT System Services version of GetPrivateProfileString()
/* wrt TAB characters in the value string -- Microsoft terminates value */
* probably doesn't handle the NULL key for section name or value key
/* at the first TAB, but I couldn't discover what the behavior should */
* correctly also, doesn't provide Microsoft backwards compatability
/* be regarding TABS in quoted strings so, I treat tabs like any other */
* wrt TAB characters in the value string
/* characters -- NO comments following value string separated by a TAB */
*
/* are allowed (that is an anachronism anyway) */
* Microsoft terminates value
/* Added code to search for ODBC_INI file in users home directory on */
* at the first TAB, but I couldn't discover what the behavior should
/* Unix */
* be regarding TABS in quoted strings so, I treat tabs like any other
* characters
*
* NO comments following value string separated by a TAB
* are allowed (that is an anachronism anyway)
* Added code to search for ODBC_INI file in users home directory on
* Unix
*/
#ifndef WIN32
#ifndef WIN32
...
...
src/interfaces/odbc/gpps.h
View file @
12ceb111
/* GetPrivateProfileString */
/* GetPrivateProfileString
/* for UNIX use */
* for UNIX use
*/
#ifndef GPPS_H
#ifndef GPPS_H
#define GPPS_H
#define GPPS_H
...
...
src/interfaces/odbc/info.c
View file @
12ceb111
/* Module: info.c
/* Module: info.c
*
*
* Description: This module contains routines related to
* Description: This module contains routines related to
...
...
src/interfaces/odbc/iodbc.h
View file @
12ceb111
...
@@ -7,15 +7,15 @@
...
@@ -7,15 +7,15 @@
#include <stdlib.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/types.h>
#define MEM_ALLOC(size)
(malloc((size_t)(size)))
#define MEM_ALLOC(size)
(malloc((size_t)(size)))
#define MEM_FREE(ptr)
{if(ptr) free(ptr);}
#define MEM_FREE(ptr)
{if(ptr) free(ptr);}
#define STRCPY(t, s)
(strcpy((char*)(t), (char*)(s)))
#define STRCPY(t, s)
(strcpy((char*)(t), (char*)(s)))
#define STRNCPY(t,s,n)
(strncpy((char*)(t), (char*)(s), (size_t)(n)))
#define STRNCPY(t,s,n)
(strncpy((char*)(t), (char*)(s), (size_t)(n)))
#define STRCAT(t, s)
(strcat((char*)(t), (char*)(s)))
#define STRCAT(t, s)
(strcat((char*)(t), (char*)(s)))
#define STRNCAT(t,s,n)
(strncat((char*)(t), (char*)(s), (size_t)(n)))
#define STRNCAT(t,s,n)
(strncat((char*)(t), (char*)(s), (size_t)(n)))
#define STREQ(a, b)
(strcmp((char*)(a), (char*)(b)) == 0)
#define STREQ(a, b)
(strcmp((char*)(a), (char*)(b)) == 0)
#define STRLEN(str)
((str)? strlen((char*)(str)):0)
#define STRLEN(str)
((str)? strlen((char*)(str)):0)
#define EXPORT
#define EXPORT
#define CALLBACK
#define CALLBACK
...
@@ -38,29 +38,29 @@ typedef int BOOL;
...
@@ -38,29 +38,29 @@ typedef int BOOL;
#include <windowsx.h>
#include <windowsx.h>
#ifdef _MSVC_
#ifdef _MSVC_
#define MEM_ALLOC(size)
(fmalloc((size_t)(size)))
#define MEM_ALLOC(size)
(fmalloc((size_t)(size)))
#define MEM_FREE(ptr)
((ptr)? ffree((PTR)(ptr)):0))
#define MEM_FREE(ptr)
((ptr)? ffree((PTR)(ptr)):0))
#define STRCPY(t, s)
(fstrcpy((char FAR*)(t), (char FAR*)(s)))
#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 STRNCPY(t,s,n)
(fstrncpy((char FAR*)(t), (char FAR*)(s), (size_t)(n)))
#define STRLEN(str)
((str)? fstrlen((char FAR*)(str)):0)
#define STRLEN(str)
((str)? fstrlen((char FAR*)(str)):0)
#define STREQ(a, b)
(fstrcmp((char FAR*)(a), (char FAR*)(b) == 0)
#define STREQ(a, b)
(fstrcmp((char FAR*)(a), (char FAR*)(b) == 0)
#endif
#endif
#ifdef _BORLAND_
#ifdef _BORLAND_
#define MEM_ALLOC(size)
(farmalloc((unsigned long)(size))
#define MEM_ALLOC(size)
(farmalloc((unsigned long)(size))
#define MEM_FREE(ptr)
((ptr)? farfree((void far*)(ptr)):0)
#define MEM_FREE(ptr)
((ptr)? farfree((void far*)(ptr)):0)
#define STRCPY(t, s)
(_fstrcpy((char FAR*)(t), (char FAR*)(s)))
#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 STRNCPY(t,s,n)
(_fstrncpy((char FAR*)(t), (char FAR*)(s), (size_t)(n)))
#define
STRLEN(str)
((str)? _fstrlen((char FAR*)(str)):0)
#define
STRLEN(str)
((str)? _fstrlen((char FAR*)(str)):0)
#define
STREQ(a, b)
(_fstrcmp((char FAR*)(a), (char FAR*)(b) == 0)
#define
STREQ(a, b)
(_fstrcmp((char FAR*)(a), (char FAR*)(b) == 0)
#endif
#endif
#endif
/* WIN32 */
#endif
/* WIN32 */
#define SYSERR
(-1)
#define SYSERR
(-1)
#ifndef NULL
#ifndef NULL
#define NULL
((void FAR*)0UL)
#define NULL
((void FAR*)0UL)
#endif
#endif
#endif
#endif
src/interfaces/odbc/isql.h
View file @
12ceb111
/* Modified isql.h file from iodbc. This file should be placed in the
/*
* include path to be used to create ODBC compliant applications.
* 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
#ifndef _INTRINSIC_SQL_H
#define _INTRINSIC_SQL_H
#define _INTRINSIC_SQL_H
...
@@ -24,106 +26,106 @@ typedef signed short RETCODE;
...
@@ -24,106 +26,106 @@ typedef signed short RETCODE;
#define SQL_API EXPORT CALLBACK
#define SQL_API EXPORT CALLBACK
#endif
#endif
#define ODBCVER
0x0250
#define ODBCVER
0x0250
#define SQL_MAX_MESSAGE_LENGTH
512
#define SQL_MAX_MESSAGE_LENGTH
512
#define SQL_MAX_DSN_LENGTH
32
#define SQL_MAX_DSN_LENGTH
32
/* return code */
/* return code */
#define SQL_INVALID_HANDLE
(-2)
#define SQL_INVALID_HANDLE
(-2)
#define SQL_ERROR
(-1)
#define SQL_ERROR
(-1)
#define SQL_SUCCESS
0
#define SQL_SUCCESS
0
#define SQL_SUCCESS_WITH_INFO
1
#define SQL_SUCCESS_WITH_INFO
1
#define SQL_NO_DATA_FOUND
100
#define SQL_NO_DATA_FOUND
100
/* standard SQL datatypes (agree with ANSI type numbering) */
/* standard SQL datatypes (agree with ANSI type numbering) */
#define SQL_CHAR
1
#define SQL_CHAR
1
#define SQL_NUMERIC
2
#define SQL_NUMERIC
2
#define SQL_DECIMAL
3
#define SQL_DECIMAL
3
#define SQL_INTEGER
4
#define SQL_INTEGER
4
#define SQL_SMALLINT
5
#define SQL_SMALLINT
5
#define SQL_FLOAT
6
#define SQL_FLOAT
6
#define SQL_REAL
7
#define SQL_REAL
7
#define SQL_DOUBLE
8
#define SQL_DOUBLE
8
#define SQL_VARCHAR
12
#define SQL_VARCHAR
12
#define SQL_TYPE_MIN
SQL_CHAR
#define SQL_TYPE_MIN
SQL_CHAR
#define SQL_TYPE_NULL
0
#define SQL_TYPE_NULL
0
#define SQL_TYPE_MAX
SQL_VARCHAR
#define SQL_TYPE_MAX
SQL_VARCHAR
/* C to SQL datatype mapping */
/* C to SQL datatype mapping */
#define SQL_C_CHAR
SQL_CHAR
#define SQL_C_CHAR
SQL_CHAR
#define SQL_C_LONG
SQL_INTEGER
#define SQL_C_LONG
SQL_INTEGER
#define SQL_C_SHORT
SQL_SMALLINT
#define SQL_C_SHORT
SQL_SMALLINT
#define SQL_C_FLOAT
SQL_REAL
#define SQL_C_FLOAT
SQL_REAL
#define SQL_C_DOUBLE
SQL_DOUBLE
#define SQL_C_DOUBLE
SQL_DOUBLE
#define SQL_C_DEFAULT
99
#define SQL_C_DEFAULT
99
#define SQL_NO_NULLS
0
#define SQL_NO_NULLS
0
#define SQL_NULLABLE
1
#define SQL_NULLABLE
1
#define SQL_NULLABLE_UNKNOWN
2
#define SQL_NULLABLE_UNKNOWN
2
/* some special length values */
/* some special length values */
#define SQL_NULL_DATA
(-1)
#define SQL_NULL_DATA
(-1)
#define SQL_DATA_AT_EXEC
(-2)
#define SQL_DATA_AT_EXEC
(-2)
#define SQL_NTS
(-3)
#define SQL_NTS
(-3)
/* SQLFreeStmt flag values */
/* SQLFreeStmt flag values */
#define SQL_CLOSE
0
#define SQL_CLOSE
0
#define SQL_DROP
1
#define SQL_DROP
1
#define SQL_UNBIND
2
#define SQL_UNBIND
2
#define SQL_RESET_PARAMS
3
#define SQL_RESET_PARAMS
3
/* SQLTransact flag values */
/* SQLTransact flag values */
#define SQL_COMMIT
0
#define SQL_COMMIT
0
#define SQL_ROLLBACK
1
#define SQL_ROLLBACK
1
/* SQLColAttributes flag values */
/* SQLColAttributes flag values */
#define SQL_COLUMN_COUNT
0
#define SQL_COLUMN_COUNT
0
#define SQL_COLUMN_LABEL
18
#define SQL_COLUMN_LABEL
18
#define SQL_COLATT_OPT_MAX
SQL_COLUMN_LABEL
#define SQL_COLATT_OPT_MAX
SQL_COLUMN_LABEL
#define SQL_COLUMN_DRIVER_START
1000
#define SQL_COLUMN_DRIVER_START
1000
#define SQL_COLATT_OPT_MIN
SQL_COLUMN_COUNT
#define SQL_COLATT_OPT_MIN
SQL_COLUMN_COUNT
/* Null handles */
/* Null handles */
#define SQL_NULL_HENV
0
#define SQL_NULL_HENV
0
#define SQL_NULL_HDBC
0
#define SQL_NULL_HDBC
0
#define SQL_NULL_HSTMT
0
#define SQL_NULL_HSTMT
0
/* All code below has been added to the original isql.h coming from iodbc */
/* All code below has been added to the original isql.h coming from iodbc */
typedef
unsigned
char
BYTE
;
typedef
unsigned
char
BYTE
;
/* More SQLColAttributes flag values */
/* More SQLColAttributes flag values */
#define SQL_COLUMN_NAME 1
#define SQL_COLUMN_NAME
1
#define SQL_COLUMN_TYPE 2
#define SQL_COLUMN_TYPE
2
#define SQL_COLUMN_LENGTH 3
#define SQL_COLUMN_LENGTH
3
#define SQL_COLUMN_PRECISION 4
#define SQL_COLUMN_PRECISION
4
#define SQL_COLUMN_SCALE 5
#define SQL_COLUMN_SCALE
5
#define SQL_COLUMN_DISPLAY_SIZE 6
#define SQL_COLUMN_DISPLAY_SIZE
6
#define SQL_COLUMN_NULLABLE 7
#define SQL_COLUMN_NULLABLE
7
#define SQL_COLUMN_UNSIGNED 8
#define SQL_COLUMN_UNSIGNED
8
#define SQL_COLUMN_MONEY 9
#define SQL_COLUMN_MONEY
9
#define SQL_COLUMN_UPDATABLE 10
#define SQL_COLUMN_UPDATABLE
10
#define SQL_COLUMN_AUTO_INCREMENT 11
#define SQL_COLUMN_AUTO_INCREMENT
11
#define SQL_COLUMN_CASE_SENSITIVE 12
#define SQL_COLUMN_CASE_SENSITIVE
12
#define SQL_COLUMN_SEARCHABLE 13
#define SQL_COLUMN_SEARCHABLE
13
#define SQL_COLUMN_TYPE_NAME 14
#define SQL_COLUMN_TYPE_NAME
14
#define SQL_COLUMN_TABLE_NAME 15
#define SQL_COLUMN_TABLE_NAME
15
#define SQL_COLUMN_OWNER_NAME 16
#define SQL_COLUMN_OWNER_NAME
16
#define SQL_COLUMN_QUALIFIER_NAME 17
#define SQL_COLUMN_QUALIFIER_NAME
17
/* SQLColAttributes Searchable flags */
/* SQLColAttributes Searchable flags */
#define SQL_UNSEARCHABLE 0
#define SQL_UNSEARCHABLE
0
#define SQL_LIKE_ONLY 1
#define SQL_LIKE_ONLY
1
#define SQL_ALL_EXCEPT_LIKE
2
#define SQL_ALL_EXCEPT_LIKE
2
#define SQL_SEARCHABLE 3
#define SQL_SEARCHABLE
3
#define SQL_PRED_SEARCHABLE
SQL_SEARCHABLE
#define SQL_PRED_SEARCHABLE
SQL_SEARCHABLE
/* SQLColAttributes Updateable flags */
/* SQLColAttributes Updateable flags */
#define SQL_ATTR_READONLY 0
#define SQL_ATTR_READONLY
0
#define SQL_ATTR_WRITE 1
#define SQL_ATTR_WRITE
1
#define SQL_ATTR_READWRITE_UNKNOWN 2
#define SQL_ATTR_READWRITE_UNKNOWN
2
/*
/*
* function prototypes previously not contained in isql.h
* function prototypes previously not contained in isql.h
...
...
src/interfaces/odbc/isqlext.h
View file @
12ceb111
/* This file has been modified from the original isqlext.h to add the
/*
* missing function prototypes and appropriate #defines. It is designed
* This file has been modified from the original isqlext.h to add the
* to be a drop in replacement for isqlext.h from iodbc.
* missing function prototypes and appropriate #defines. It is designed
*/
* to be a drop in replacement for isqlext.h from iodbc.
*/
#ifndef _INTRINSIC_SQLEXT_H
#ifndef _INTRINSIC_SQLEXT_H
#define _INTRINSIC_SQLEXT_H
#define _INTRINSIC_SQLEXT_H
#include "isql.h"
#include "isql.h"
#define SQL_STILL_EXECUTING
2
#define SQL_STILL_EXECUTING
2
#define SQL_NEED_DATA
99
#define SQL_NEED_DATA
99
/* extend SQL datatypes */
/* extend SQL datatypes */
#define SQL_DATE
9
#define SQL_DATE
9
#define SQL_TIME
10
#define SQL_TIME
10
#define SQL_TIMESTAMP
11
#define SQL_TIMESTAMP
11
#define SQL_LONGVARCHAR
(-1)
#define SQL_LONGVARCHAR
(-1)
#define SQL_BINARY
(-2)
#define SQL_BINARY
(-2)
#define SQL_VARBINARY
(-3)
#define SQL_VARBINARY
(-3)
#define SQL_LONGVARBINARY
(-4)
#define SQL_LONGVARBINARY
(-4)
#define SQL_BIGINT
(-5)
#define SQL_BIGINT
(-5)
#define SQL_TINYINT
(-6)
#define SQL_TINYINT
(-6)
#define SQL_BIT
(-7)
/* conflict with SQL3 ??? */
#define SQL_BIT
(-7)
/* conflict with SQL3 ??? */
#define SQL_TYPE_DRIVER_START
(-80)
#define SQL_TYPE_DRIVER_START
(-80)
/* C to SQL datatype mapping */
/* C to SQL datatype mapping */
#define SQL_C_DATE
SQL_DATE
#define SQL_C_DATE
SQL_DATE
#define SQL_C_TIME
SQL_TIME
#define SQL_C_TIME
SQL_TIME
#define SQL_C_TIMESTAMP
SQL_TIMESTAMP
#define SQL_C_TIMESTAMP
SQL_TIMESTAMP
#define SQL_C_BINARY
SQL_BINARY
#define SQL_C_BINARY
SQL_BINARY
#define SQL_C_BIT
SQL_BIT
#define SQL_C_BIT
SQL_BIT
#define SQL_C_TINYINT
SQL_TINYINT
#define SQL_C_TINYINT
SQL_TINYINT
#define SQL_SIGNED_OFFSET
(-20)
#define SQL_SIGNED_OFFSET
(-20)
#define SQL_UNSIGNED_OFFSET
(-22)
#define SQL_UNSIGNED_OFFSET
(-22)
#define SQL_C_SLONG
(SQL_C_LONG
+ SQL_SIGNED_OFFSET)
#define SQL_C_SLONG
(SQL_C_LONG
+ SQL_SIGNED_OFFSET)
#define SQL_C_SSHORT
(SQL_C_SHORT + 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_STINYINT
(SQL_TINYINT + SQL_SIGNED_OFFSET)
#define SQL_C_ULONG
(SQL_C_LONG
+ SQL_UNSIGNED_OFFSET)
#define SQL_C_ULONG
(SQL_C_LONG
+ SQL_UNSIGNED_OFFSET)
#define SQL_C_USHORT
(SQL_C_SHORT + 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_UTINYINT
(SQL_TINYINT + SQL_UNSIGNED_OFFSET)
#define SQL_C_BOOKMARK
SQL_C_ULONG
#define SQL_C_BOOKMARK
SQL_C_ULONG
#if defined(SQL_TYPE_MIN)
#if defined(SQL_TYPE_MIN)
#undef SQL_TYPE_MIN
#undef SQL_TYPE_MIN
#define SQL_TYPE_MIN
SQL_BIT
#define SQL_TYPE_MIN
SQL_BIT
/* Note:If SQL_BIT uses SQL3 value (i.e. 14) then,
/* Note:If SQL_BIT uses SQL3 value (i.e. 14) then,
* SQL_TYPE_MIN need to be defined as SQL_TINYINT
* SQL_TYPE_MIN need to be defined as SQL_TINYINT
* (i.e. -6).
* (i.e. -6).
*/
*/
#endif
#endif
#define SQL_ALL_TYPES
0
#define SQL_ALL_TYPES
0
/* SQLDriverConnect flag values */
/* SQLDriverConnect flag values */
#define SQL_DRIVER_NOPROMPT
0
#define SQL_DRIVER_NOPROMPT
0
#define SQL_DRIVER_COMPLETE
1
#define SQL_DRIVER_COMPLETE
1
#define SQL_DRIVER_PROMPT
2
#define SQL_DRIVER_PROMPT
2
#define SQL_DRIVER_COMPLETE_REQUIRED
3
#define SQL_DRIVER_COMPLETE_REQUIRED
3
/* SQLSetParam extensions */
/* SQLSetParam extensions */
#define SQL_DEFAULT_PARAM
(-5)
#define SQL_DEFAULT_PARAM
(-5)
#define SQL_IGNORE
(-6)
#define SQL_IGNORE
(-6)
/* function number for SQLGetFunctions and _iodbcdm_getproc */
/* function number for SQLGetFunctions and _iodbcdm_getproc */
#define SQL_API_SQLALLOCCONNECT
1
#define SQL_API_SQLALLOCCONNECT
1
#define SQL_API_SQLALLOCENV
2
#define SQL_API_SQLALLOCENV
2
#define SQL_API_SQLALLOCSTMT
3
#define SQL_API_SQLALLOCSTMT
3
#define SQL_API_SQLBINDCOL
4
#define SQL_API_SQLBINDCOL
4
#define SQL_API_SQLCANCEL
5
#define SQL_API_SQLCANCEL
5
#define SQL_API_SQLCOLATTRIBUTES
6
#define SQL_API_SQLCOLATTRIBUTES
6
#define SQL_API_SQLCONNECT
7
#define SQL_API_SQLCONNECT
7
#define SQL_API_SQLDESCRIBECOL
8
#define SQL_API_SQLDESCRIBECOL
8
#define SQL_API_SQLDISCONNECT
9
#define SQL_API_SQLDISCONNECT
9
#define SQL_API_SQLERROR
10
#define SQL_API_SQLERROR
10
#define SQL_API_SQLEXECDIRECT
11
#define SQL_API_SQLEXECDIRECT
11
#define SQL_API_SQLEXECUTE
12
#define SQL_API_SQLEXECUTE
12
#define SQL_API_SQLFETCH
13
#define SQL_API_SQLFETCH
13
#define SQL_API_SQLFREECONNECT
14
#define SQL_API_SQLFREECONNECT
14
#define SQL_API_SQLFREEENV
15
#define SQL_API_SQLFREEENV
15
#define SQL_API_SQLFREESTMT
16
#define SQL_API_SQLFREESTMT
16
#define SQL_API_SQLGETCURSORNAME
17
#define SQL_API_SQLGETCURSORNAME
17
#define SQL_API_SQLNUMRESULTCOLS
18
#define SQL_API_SQLNUMRESULTCOLS
18
#define SQL_API_SQLPREPARE
19
#define SQL_API_SQLPREPARE
19
#define SQL_API_SQLROWCOUNT
20
#define SQL_API_SQLROWCOUNT
20
#define SQL_API_SQLSETCURSORNAME
21
#define SQL_API_SQLSETCURSORNAME
21
#define SQL_API_SQLSETPARAM
22
#define SQL_API_SQLSETPARAM
22
#define SQL_API_SQLTRANSACT
23
#define SQL_API_SQLTRANSACT
23
#define SQL_NUM_FUNCTIONS
23
#define SQL_NUM_FUNCTIONS
23
#define SQL_EXT_API_START
40
#define SQL_EXT_API_START
40
#define SQL_API_SQLCOLUMNS
40
#define SQL_API_SQLCOLUMNS
40
#define SQL_API_SQLDRIVERCONNECT
41
#define SQL_API_SQLDRIVERCONNECT
41
#define SQL_API_SQLGETCONNECTOPTION
42
#define SQL_API_SQLGETCONNECTOPTION
42
#define SQL_API_SQLGETDATA
43
#define SQL_API_SQLGETDATA
43
#define SQL_API_SQLGETFUNCTIONS
44
#define SQL_API_SQLGETFUNCTIONS
44
#define SQL_API_SQLGETINFO
45
#define SQL_API_SQLGETINFO
45
#define SQL_API_SQLGETSTMTOPTION
46
#define SQL_API_SQLGETSTMTOPTION
46
#define SQL_API_SQLGETTYPEINFO
47
#define SQL_API_SQLGETTYPEINFO
47
#define SQL_API_SQLPARAMDATA
48
#define SQL_API_SQLPARAMDATA
48
#define SQL_API_SQLPUTDATA
49
#define SQL_API_SQLPUTDATA
49
#define SQL_API_SQLSETCONNECTOPTION
50
#define SQL_API_SQLSETCONNECTOPTION
50
#define SQL_API_SQLSETSTMTOPTION
51
#define SQL_API_SQLSETSTMTOPTION
51
#define SQL_API_SQLSPECIALCOLUMNS
52
#define SQL_API_SQLSPECIALCOLUMNS
52
#define SQL_API_SQLSTATISTICS
53
#define SQL_API_SQLSTATISTICS
53
#define SQL_API_SQLTABLES
54
#define SQL_API_SQLTABLES
54
#define SQL_API_SQLBROWSECONNECT
55
#define SQL_API_SQLBROWSECONNECT
55
#define SQL_API_SQLCOLUMNPRIVILEGES
56
#define SQL_API_SQLCOLUMNPRIVILEGES
56
#define SQL_API_SQLDATASOURCES
57
#define SQL_API_SQLDATASOURCES
57
#define SQL_API_SQLDESCRIBEPARAM
58
#define SQL_API_SQLDESCRIBEPARAM
58
#define SQL_API_SQLEXTENDEDFETCH
59
#define SQL_API_SQLEXTENDEDFETCH
59
#define SQL_API_SQLFOREIGNKEYS
60
#define SQL_API_SQLFOREIGNKEYS
60
#define SQL_API_SQLMORERESULTS
61
#define SQL_API_SQLMORERESULTS
61
#define SQL_API_SQLNATIVESQL
62
#define SQL_API_SQLNATIVESQL
62
#define SQL_API_SQLNUMPARAMS
63
#define SQL_API_SQLNUMPARAMS
63
#define SQL_API_SQLPARAMOPTIONS
64
#define SQL_API_SQLPARAMOPTIONS
64
#define SQL_API_SQLPRIMARYKEYS
65
#define SQL_API_SQLPRIMARYKEYS
65
#define SQL_API_SQLPROCEDURECOLUMNS
66
#define SQL_API_SQLPROCEDURECOLUMNS
66
#define SQL_API_SQLPROCEDURES
67
#define SQL_API_SQLPROCEDURES
67
#define SQL_API_SQLSETPOS
68
#define SQL_API_SQLSETPOS
68
#define SQL_API_SQLSETSCROLLOPTIONS
69
#define SQL_API_SQLSETSCROLLOPTIONS
69
#define SQL_API_SQLTABLEPRIVILEGES
70
#define SQL_API_SQLTABLEPRIVILEGES
70
#define SQL_API_SQLDRIVERS
71
#define SQL_API_SQLDRIVERS
71
#define SQL_API_SQLBINDPARAMETER
72
#define SQL_API_SQLBINDPARAMETER
72
#define SQL_EXT_API_LAST
SQL_API_SQLBINDPARAMETER
#define SQL_EXT_API_LAST
SQL_API_SQLBINDPARAMETER
#define SQL_NUM_EXTENSIONS (SQL_EXT_API_LAST - SQL_EXT_API_START + 1)
#define SQL_NUM_EXTENSIONS
(SQL_EXT_API_LAST - SQL_EXT_API_START + 1)
#define SQL_API_ALL_FUNCTIONS
0
#define SQL_API_ALL_FUNCTIONS
0
/* SQLGetInfo infor number */
/* SQLGetInfo infor number */
#define SQL_INFO_FIRST
0
#define SQL_INFO_FIRST
0
#define SQL_DRIVER_HDBC
3
#define SQL_DRIVER_HDBC
3
#define SQL_DRIVER_HENV
4
#define SQL_DRIVER_HENV
4
#define SQL_DRIVER_HSTMT
5
#define SQL_DRIVER_HSTMT
5
#define SQL_DRIVER_NAME
6
#define SQL_DRIVER_NAME
6
#define SQL_ODBC_VER
10
#define SQL_ODBC_VER
10
#define SQL_CURSOR_COMMIT_BEHAVIOR
23
#define SQL_CURSOR_COMMIT_BEHAVIOR
23
#define SQL_CURSOR_ROLLBACK_BEHAVIOR
24
#define SQL_CURSOR_ROLLBACK_BEHAVIOR
24
#define SQL_DEFAULT_TXN_ISOLATION
26
#define SQL_DEFAULT_TXN_ISOLATION
26
#define SQL_TXN_ISOLATION_OPTION
72
#define SQL_TXN_ISOLATION_OPTION
72
#define SQL_NON_NULLABLE_COLUMNS
75
#define SQL_NON_NULLABLE_COLUMNS
75
#define SQL_DRIVER_HLIB
76
#define SQL_DRIVER_HLIB
76
#define SQL_DRIVER_ODBC_VER
77
#define SQL_DRIVER_ODBC_VER
77
#define SQL_QUALIFIER_LOCATION
114
#define SQL_QUALIFIER_LOCATION
114
#define SQL_INFO_LAST
SQL_QUALIFIER_LOCATION
#define SQL_INFO_LAST
SQL_QUALIFIER_LOCATION
#define SQL_INFO_DRIVER_START
1000
#define SQL_INFO_DRIVER_START
1000
/* SQL_TXN_ISOLATION_OPTION masks */
/* SQL_TXN_ISOLATION_OPTION masks */
#define SQL_TXN_READ_UNCOMMITTED
0x00000001L
#define SQL_TXN_READ_UNCOMMITTED
0x00000001L
#define SQL_TXN_READ_COMMITTED
0x00000002L
#define SQL_TXN_READ_COMMITTED
0x00000002L
#define SQL_TXN_REPEATABLE_READ
0x00000004L
#define SQL_TXN_REPEATABLE_READ
0x00000004L
#define SQL_TXN_SERIALIZABLE
0x00000008L
#define SQL_TXN_SERIALIZABLE
0x00000008L
#define SQL_TXN_VERSIONING
0x00000010L
#define SQL_TXN_VERSIONING
0x00000010L
/* SQL_CURSOR_COMMIT_BEHAVIOR and SQL_CURSOR_ROLLBACK_BEHAVIOR values */
/* SQL_CURSOR_COMMIT_BEHAVIOR and SQL_CURSOR_ROLLBACK_BEHAVIOR values */
#define SQL_CB_DELETE
0x0000
#define SQL_CB_DELETE
0x0000
#define SQL_CB_CLOSE
0x0001
#define SQL_CB_CLOSE
0x0001
#define SQL_CB_PRESERVE
0x0002
#define SQL_CB_PRESERVE
0x0002
/* options for SQLGetStmtOption/SQLSetStmtOption */
/* options for SQLGetStmtOption/SQLSetStmtOption */
#define SQL_QUERY_TIMEOUT
0
#define SQL_QUERY_TIMEOUT
0
#define SQL_MAX_ROWS
1
#define SQL_MAX_ROWS
1
#define SQL_NOSCAN
2
#define SQL_NOSCAN
2
#define SQL_MAX_LENGTH
3
#define SQL_MAX_LENGTH
3
#define SQL_ASYNC_ENABLE
4
#define SQL_ASYNC_ENABLE
4
#define SQL_BIND_TYPE
5
#define SQL_BIND_TYPE
5
#define SQL_CURSOR_TYPE
6
#define SQL_CURSOR_TYPE
6
#define SQL_CONCURRENCY
7
#define SQL_CONCURRENCY
7
#define SQL_KEYSET_SIZE
8
#define SQL_KEYSET_SIZE
8
#define SQL_ROWSET_SIZE
9
#define SQL_ROWSET_SIZE
9
#define SQL_SIMULATE_CURSOR
10
#define SQL_SIMULATE_CURSOR
10
#define SQL_RETRIEVE_DATA
11
#define SQL_RETRIEVE_DATA
11
#define SQL_USE_BOOKMARKS
12
#define SQL_USE_BOOKMARKS
12
#define SQL_GET_BOOKMARK
13
/* GetStmtOption Only */
#define SQL_GET_BOOKMARK
13
/* GetStmtOption Only */
#define SQL_ROW_NUMBER
14
/* GetStmtOption Only */
#define SQL_ROW_NUMBER
14
/* GetStmtOption Only */
#define SQL_STMT_OPT_MAX
SQL_ROW_NUMBER
#define SQL_STMT_OPT_MAX
SQL_ROW_NUMBER
#define SQL_STMT_OPT_MIN
SQL_QUERY_TIMEOUT
#define SQL_STMT_OPT_MIN
SQL_QUERY_TIMEOUT
/*
/*
* ODBC 3.0 renames the above to SQL_ATTR_ values. At this time I don't
* 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.
* know if they have also been renumbered or not, I will assume not.
*/
*/
#define SQL_ATTR_QUERY_TIMEOUT
0
#define SQL_ATTR_QUERY_TIMEOUT
0
#define SQL_ATTR_MAX_ROWS
1
#define SQL_ATTR_MAX_ROWS
1
#define SQL_ATTR_NOSCAN
2
#define SQL_ATTR_NOSCAN
2
#define SQL_ATTR_MAX_LENGTH
3
#define SQL_ATTR_MAX_LENGTH
3
#define SQL_ATTR_ASYNC_ENABLE
4
#define SQL_ATTR_ASYNC_ENABLE
4
#define SQL_ATTR_BIND_TYPE
5
#define SQL_ATTR_BIND_TYPE
5
#define SQL_ATTR_CURSOR_TYPE
6
#define SQL_ATTR_CURSOR_TYPE
6
#define SQL_ATTR_CONCURRENCY
7
#define SQL_ATTR_CONCURRENCY
7
#define SQL_ATTR_KEYSET_SIZE
8
#define SQL_ATTR_KEYSET_SIZE
8
#define SQL_ATTR_ROWSET_SIZE
9
#define SQL_ATTR_ROWSET_SIZE
9
#define SQL_ATTR_SIMULATE_CURSOR
10
#define SQL_ATTR_SIMULATE_CURSOR
10
#define SQL_ATTR_RETRIEVE_DATA
11
#define SQL_ATTR_RETRIEVE_DATA
11
#define SQL_ATTR_USE_BOOKMARKS
12
#define SQL_ATTR_USE_BOOKMARKS
12
#define SQL_ATTR_GET_BOOKMARK
13
/* GetStmtOption Only */
#define SQL_ATTR_GET_BOOKMARK
13
/* GetStmtOption Only */
#define SQL_ATTR_ROW_NUMBER
14
/* GetStmtOption Only */
#define SQL_ATTR_ROW_NUMBER
14
/* GetStmtOption Only */
/* New in ODBC 3.0 */
/* New in ODBC 3.0 */
#define SQL_ATTR_APP_PARAM_DESC 15
#define SQL_ATTR_APP_PARAM_DESC
15
#define SQL_ATTR_APP_ROW_DESC 16
#define SQL_ATTR_APP_ROW_DESC
16
#define SQL_ATTR_CURSOR_SCROLLABLE 17
#define SQL_ATTR_CURSOR_SCROLLABLE
17
#define SQL_ATTR_CURSOR_SENSITITY 18
#define SQL_ATTR_CURSOR_SENSITITY
18
#define SQL_ATTR_ENABLE_AUTO_IPD 19
#define SQL_ATTR_ENABLE_AUTO_IPD
19
#define SQL_ATTR_FETCH_BOOKMARK_PTR
20
#define SQL_ATTR_FETCH_BOOKMARK_PTR
20
#define SQL_ATTR_IMP_PARAM_DESC 21
#define SQL_ATTR_IMP_PARAM_DESC
21
#define SQL_ATTR_IMP_ROW_DESC 22
#define SQL_ATTR_IMP_ROW_DESC
22
#define SQL_ATTR_METADATA_ID 23
#define SQL_ATTR_METADATA_ID
23
#define SQL_ATTR_PARAM_BIND_OFFSET_PTR 24
#define SQL_ATTR_PARAM_BIND_OFFSET_PTR 24
#define SQL_ATTR_PARAM_BIND_TYPE 25
#define SQL_ATTR_PARAM_BIND_TYPE
25
#define SQL_ATTR_PARAM_OPERATION_PTR 26
#define SQL_ATTR_PARAM_OPERATION_PTR 26
#define SQL_ATTR_PARAM_STATUS_PTR 27
#define SQL_ATTR_PARAM_STATUS_PTR
27
#define SQL_ATTR_PARAMS_PROCESSED_PTR 28
#define SQL_ATTR_PARAMS_PROCESSED_PTR 28
#define SQL_ATTR_PARAMSET_SIZE 29
#define SQL_ATTR_PARAMSET_SIZE
29
#define SQL_ATTR_ROW_ARRAY_SIZE 30
#define SQL_ATTR_ROW_ARRAY_SIZE
30
#define SQL_ATTR_ROW_BIND_OFFSET_PTR 31
#define SQL_ATTR_ROW_BIND_OFFSET_PTR 31
#define SQL_ATTR_ROW_OPERATION_PTR 32
#define SQL_ATTR_ROW_OPERATION_PTR
32
#define SQL_ATTR_ROW_STATUS_PTR 33
#define SQL_ATTR_ROW_STATUS_PTR
33
#define SQL_ATTR_ROWS_FETCHED_PTR 34
#define SQL_ATTR_ROWS_FETCHED_PTR
34
#define SQL_STMT_ATTR_MIN SQL_ATTR_QUERY_TIMEOUT
#define SQL_STMT_ATTR_MIN
SQL_ATTR_QUERY_TIMEOUT
#define SQL_STMT_ATTR_MAX SQL_ATTR_ROWS_FETCHED_PTR
#define SQL_STMT_ATTR_MAX
SQL_ATTR_ROWS_FETCHED_PTR
/* SQL_QUERY_TIMEOUT options */
/* SQL_QUERY_TIMEOUT options */
#define SQL_QUERY_TIMEOUT_DEFAULT
0UL
#define SQL_QUERY_TIMEOUT_DEFAULT
0UL
/* SQL_MAX_ROWS options */
/* SQL_MAX_ROWS options */
#define SQL_MAX_ROWS_DEFAULT
0UL
#define SQL_MAX_ROWS_DEFAULT
0UL
/* SQL_MAX_LENGTH options */
/* SQL_MAX_LENGTH options */
#define SQL_MAX_LENGTH_DEFAULT
0UL
#define SQL_MAX_LENGTH_DEFAULT
0UL
/* SQL_CONCURRENCY options */
/* SQL_CONCURRENCY options */
#define SQL_CONCUR_READ_ONLY
1
#define SQL_CONCUR_READ_ONLY
1
#define SQL_CONCUR_LOCK
2
#define SQL_CONCUR_LOCK
2
#define SQL_CONCUR_ROWVER
3
#define SQL_CONCUR_ROWVER
3
#define SQL_CONCUR_VALUES
4
#define SQL_CONCUR_VALUES
4
/* options for SQLSetConnectOption/SQLGetConnectOption */
/* options for SQLSetConnectOption/SQLGetConnectOption */
#define SQL_ACCESS_MODE
101
#define SQL_ACCESS_MODE
101
#define SQL_AUTOCOMMIT
102
#define SQL_AUTOCOMMIT
102
#define SQL_LOGIN_TIMEOUT
103
#define SQL_LOGIN_TIMEOUT
103
#define SQL_OPT_TRACE
104
#define SQL_OPT_TRACE
104
#define SQL_OPT_TRACEFILE
105
#define SQL_OPT_TRACEFILE
105
#define SQL_TRANSLATE_DLL
106
#define SQL_TRANSLATE_DLL
106
#define SQL_TRANSLATE_OPTION
107
#define SQL_TRANSLATE_OPTION
107
#define SQL_TXN_ISOLATION
108
#define SQL_TXN_ISOLATION
108
#define SQL_CURRENT_QUALIFIER
109
#define SQL_CURRENT_QUALIFIER
109
#define SQL_ODBC_CURSORS
110
#define SQL_ODBC_CURSORS
110
#define SQL_QUIET_MODE
111
#define SQL_QUIET_MODE
111
#define SQL_PACKET_SIZE
112
#define SQL_PACKET_SIZE
112
#define SQL_CONN_OPT_MAX
SQL_PACKET_SIZE
#define SQL_CONN_OPT_MAX
SQL_PACKET_SIZE
#define SQL_CONNECT_OPT_DRVR_START
1000
#define SQL_CONNECT_OPT_DRVR_START
1000
#define SQL_CONN_OPT_MIN
SQL_ACCESS_MODE
#define SQL_CONN_OPT_MIN
SQL_ACCESS_MODE
/* SQL_ACCESS_MODE options */
/* SQL_ACCESS_MODE options */
#define SQL_MODE_READ_WRITE
0UL
#define SQL_MODE_READ_WRITE
0UL
#define SQL_MODE_READ_ONLY
1UL
#define SQL_MODE_READ_ONLY
1UL
#define SQL_MODE_DEFAULT
SQL_MODE_READ_WRITE
#define SQL_MODE_DEFAULT
SQL_MODE_READ_WRITE
/* SQL_AUTOCOMMIT options */
/* SQL_AUTOCOMMIT options */
#define SQL_AUTOCOMMIT_OFF
0UL
#define SQL_AUTOCOMMIT_OFF
0UL
#define SQL_AUTOCOMMIT_ON
1UL
#define SQL_AUTOCOMMIT_ON
1UL
#define SQL_AUTOCOMMIT_DEFAULT
SQL_AUTOCOMMIT_ON
#define SQL_AUTOCOMMIT_DEFAULT
SQL_AUTOCOMMIT_ON
/* SQL_LOGIN_TIMEOUT options */
/* SQL_LOGIN_TIMEOUT options */
#define SQL_LOGIN_TIMEOUT_DEFAULT
15UL
#define SQL_LOGIN_TIMEOUT_DEFAULT
15UL
/* SQL_OPT_TRACE options */
/* SQL_OPT_TRACE options */
#define SQL_OPT_TRACE_OFF
0UL
#define SQL_OPT_TRACE_OFF
0UL
#define SQL_OPT_TRACE_ON
1UL
#define SQL_OPT_TRACE_ON
1UL
#define SQL_OPT_TRACE_DEFAULT
SQL_OPT_TRACE_OFF
#define SQL_OPT_TRACE_DEFAULT
SQL_OPT_TRACE_OFF
#define SQL_OPT_TRACE_FILE_DEFAULT
"odbc.log"
#define SQL_OPT_TRACE_FILE_DEFAULT
"odbc.log"
/* SQL_ODBC_CURSORS options */
/* SQL_ODBC_CURSORS options */
#define SQL_CUR_USE_IF_NEEDED
0UL
#define SQL_CUR_USE_IF_NEEDED
0UL
#define SQL_CUR_USE_ODBC
1UL
#define SQL_CUR_USE_ODBC
1UL
#define SQL_CUR_USE_DRIVER
2UL
#define SQL_CUR_USE_DRIVER
2UL
#define SQL_CUR_DEFAULT
SQL_CUR_USE_DRIVER
#define SQL_CUR_DEFAULT
SQL_CUR_USE_DRIVER
/* Column types and scopes in SQLSpecialColumns. */
/* Column types and scopes in SQLSpecialColumns. */
#define SQL_BEST_ROWID
1
#define SQL_BEST_ROWID
1
#define SQL_ROWVER
2
#define SQL_ROWVER
2
#define SQL_SCOPE_CURROW
0
#define SQL_SCOPE_CURROW
0
#define SQL_SCOPE_TRANSACTION
1
#define SQL_SCOPE_TRANSACTION
1
#define SQL_SCOPE_SESSION
2
#define SQL_SCOPE_SESSION
2
/* SQLExtendedFetch flag values */
/* SQLExtendedFetch flag values */
#define SQL_FETCH_NEXT
1
#define SQL_FETCH_NEXT
1
#define SQL_FETCH_FIRST
2
#define SQL_FETCH_FIRST
2
#define SQL_FETCH_LAST
3
#define SQL_FETCH_LAST
3
#define SQL_FETCH_PRIOR
4
#define SQL_FETCH_PRIOR
4
#define SQL_FETCH_ABSOLUTE
5
#define SQL_FETCH_ABSOLUTE
5
#define SQL_FETCH_RELATIVE
6
#define SQL_FETCH_RELATIVE
6
#define SQL_FETCH_BOOKMARK
8
#define SQL_FETCH_BOOKMARK
8
/* Defines for SQLBindParameter/SQLProcedureColumns */
/* Defines for SQLBindParameter/SQLProcedureColumns */
#define SQL_PARAM_TYPE_UNKNOWN 0
#define SQL_PARAM_TYPE_UNKNOWN
0
#define SQL_PARAM_INPUT 1
#define SQL_PARAM_INPUT
1
#define SQL_PARAM_INPUT_OUTPUT 2
#define SQL_PARAM_INPUT_OUTPUT
2
#define SQL_RESULT_COL 3
#define SQL_RESULT_COL
3
#define SQL_PARAM_OUTPUT 4
#define SQL_PARAM_OUTPUT
4
#define SQL_RETURN_VALUE 5
#define SQL_RETURN_VALUE
5
/* Defines used by Driver Manager for mapping SQLSetParam to SQLBindParameter */
/* Defines used by Driver Manager for mapping SQLSetParam to SQLBindParameter */
#define SQL_PARAM_TYPE_DEFAULT
SQL_PARAM_INPUT_OUTPUT
#define SQL_PARAM_TYPE_DEFAULT
SQL_PARAM_INPUT_OUTPUT
#define SQL_SETPARAM_VALUE_MAX
(-1L)
#define SQL_SETPARAM_VALUE_MAX
(-1L)
/* SQLStatistics flag values */
/* SQLStatistics flag values */
#define SQL_INDEX_UNIQUE
0
#define SQL_INDEX_UNIQUE
0
#define SQL_INDEX_ALL
1
#define SQL_INDEX_ALL
1
#define SQL_QUICK
0
#define SQL_QUICK
0
#define SQL_ENSURE
1
#define SQL_ENSURE
1
/* SQLSetScrollOption flag values */
/* SQLSetScrollOption flag values */
#define SQL_SCROLL_FORWARD_ONLY
0L
#define SQL_SCROLL_FORWARD_ONLY
0L
#define SQL_SCROLL_KEYSET_DRIVEN
(-1L)
#define SQL_SCROLL_KEYSET_DRIVEN
(-1L)
#define SQL_SCROLL_DYNAMIC
(-2L)
#define SQL_SCROLL_DYNAMIC
(-2L)
#define SQL_SCROLL_STATIC
(-3L)
#define SQL_SCROLL_STATIC
(-3L)
/* Everything below has been added to the original isqlext.h that comes
/* Everything below has been added to the original isqlext.h that comes
* with iodbc.
* with iodbc.
...
@@ -496,82 +498,82 @@ typedef struct tagSQL_INTERVAL_STRUCT
...
@@ -496,82 +498,82 @@ typedef struct tagSQL_INTERVAL_STRUCT
#define SQL_CODE_HOUR_TO_SECOND
#define SQL_CODE_HOUR_TO_SECOND
#define SQL_CODE_MINUTE_TO_SECOND
#define SQL_CODE_MINUTE_TO_SECOND
*/
*/
#define SQL_INTERVAL_YEAR (-80)
#define SQL_INTERVAL_YEAR
(-80)
#define SQL_INTERVAL_MONTH (-81)
#define SQL_INTERVAL_MONTH
(-81)
#define SQL_INTERVAL_YEAR_TO_MONTH (-82)
#define SQL_INTERVAL_YEAR_TO_MONTH
(-82)
#define SQL_INTERVAL_DAY (-83)
#define SQL_INTERVAL_DAY
(-83)
#define SQL_INTERVAL_HOUR (-84)
#define SQL_INTERVAL_HOUR
(-84)
#define SQL_INTERVAL_MINUTE (-85)
#define SQL_INTERVAL_MINUTE
(-85)
#define SQL_INTERVAL_SECOND (-86)
#define SQL_INTERVAL_SECOND
(-86)
#define SQL_INTERVAL_DAY_TO_HOUR (-87)
#define SQL_INTERVAL_DAY_TO_HOUR
(-87)
#define SQL_INTERVAL_DAY_TO_MINUTE (-88)
#define SQL_INTERVAL_DAY_TO_MINUTE
(-88)
#define SQL_INTERVAL_DAY_TO_SECOND (-89)
#define SQL_INTERVAL_DAY_TO_SECOND
(-89)
#define SQL_INTERVAL_HOUR_TO_MINUTE
(-90)
#define SQL_INTERVAL_HOUR_TO_MINUTE
(-90)
#define SQL_INTERVAL_HOUR_TO_SECOND
(-91)
#define SQL_INTERVAL_HOUR_TO_SECOND
(-91)
#define SQL_INTERVAL_MINUTE_TO_SECOND (-92)
#define SQL_INTERVAL_MINUTE_TO_SECOND (-92)
#define SQL_UNICODE (-95)
#define SQL_UNICODE
(-95)
#define SQL_UNICODE_VARCHAR (-96)
#define SQL_UNICODE_VARCHAR
(-96)
#define SQL_UNICODE_LONGVARCHAR (-97)
#define SQL_UNICODE_LONGVARCHAR
(-97)
#define SQL_UNICODE_CHAR SQL_UNICODE
#define SQL_UNICODE_CHAR
SQL_UNICODE
/* C to SQL data types */
/* C to SQL data types */
/*
/*
#define SQL_C_TYPE_DATE SQL_TYPE_DATE
#define SQL_C_TYPE_DATE
SQL_TYPE_DATE
#define SQL_C_TYPE_TIME SQL_TYPE_TIME
#define SQL_C_TYPE_TIME
SQL_TYPE_TIME
#define SQL_C_TYPE_TIMESTAMP SQL_TYPE_TIMESTAMP
#define SQL_C_TYPE_TIMESTAMP
SQL_TYPE_TIMESTAMP
#define SQL_C_GUID SQLGUID
#define SQL_C_GUID
SQLGUID
*/
*/
#define SQL_C_INTERVAL_MONTH SQL_INTERVAL_MONTH
#define SQL_C_INTERVAL_MONTH
SQL_INTERVAL_MONTH
#define SQL_C_INTERVAL_YEAR SQL_INTERVAL_YEAR
#define SQL_C_INTERVAL_YEAR
SQL_INTERVAL_YEAR
#define SQL_C_INTERVAL_YEAR_TO_MONTH SQL_INTERVAL_YEAR_TO_MONTH
#define SQL_C_INTERVAL_YEAR_TO_MONTH SQL_INTERVAL_YEAR_TO_MONTH
#define SQL_C_INTERVAL_DAY SQL_INTERVAL_DAY
#define SQL_C_INTERVAL_DAY
SQL_INTERVAL_DAY
#define SQL_C_INTERVAL_HOUR SQL_INTERVAL_HOUR
#define SQL_C_INTERVAL_HOUR
SQL_INTERVAL_HOUR
#define SQL_C_INTERVAL_MINUTE SQL_INTERVAL_MINUTE
#define SQL_C_INTERVAL_MINUTE
SQL_INTERVAL_MINUTE
#define SQL_C_INTERVAL_SECOND SQL_INTERVAL_SECOND
#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_HOUR
SQL_INTERVAL_DAY_TO_HOUR
#define SQL_C_INTERVAL_DAY_TO_MINUTE SQL_INTERVAL_DAY_TO_MINUTE
#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_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_MINUTE SQL_INTERVAL_HOUR_TO_MINUTE
#define SQL_C_INTERVAL_HOUR_TO_SECOND SQL_INTERVAL_HOUR_TO_SECOND
#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_INTERVAL_MINUTE_TO_SECOND SQL_INTERVAL_MINUTE_TO_SECOND
#define SQL_C_NUMERIC SQL_NUMERIC
#define SQL_C_NUMERIC
SQL_NUMERIC
#define SQL_C_VARBOOKMARK SQL_C_BINARY
#define SQL_C_VARBOOKMARK
SQL_C_BINARY
#define SQL_C_SBIGINT (SQL_BIGINT + SQL_SIGNED_OFFSET)
#define SQL_C_SBIGINT
(SQL_BIGINT + SQL_SIGNED_OFFSET)
#define SQL_C_UBIGINT (SQL_BIGINT + SQL_UNSIGNED_OFFSET)
#define SQL_C_UBIGINT
(SQL_BIGINT + SQL_UNSIGNED_OFFSET)
#define SQL_TRUE 1UL
#define SQL_TRUE 1UL
#define SQL_FALSE 0UL
#define SQL_FALSE 0UL
/* SQLGetData */
/* SQLGetData */
#define SQL_NO_TOTAL (-4)
#define SQL_NO_TOTAL
(-4)
/* SQLBindParameter */
/* SQLBindParameter */
#define SQL_LEN_DATA_AT_EXEC_OFFSET
(-100)
#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_DATA_AT_EXEC(length) (-length+SQL_LEN_DATA_AT_EXEC_OFFSET)
#define SQL_LEN_BINARY_ATTR_OFFSET (-100)
#define SQL_LEN_BINARY_ATTR_OFFSET
(-100)
#define SQL_LEN_BINARY_ATTR(length)
(-(length)+SQL_LEN_BINARY_ATTR_OFFSET)
#define SQL_LEN_BINARY_ATTR(length)
(-(length)+SQL_LEN_BINARY_ATTR_OFFSET)
/* SQLExtendedFetch - row status */
/* SQLExtendedFetch - row status */
#define SQL_ROW_SUCCESS 0
#define SQL_ROW_SUCCESS
0
#define SQL_ROW_DELETED 1
#define SQL_ROW_DELETED
1
#define SQL_ROW_UPDATED 2
#define SQL_ROW_UPDATED
2
#define SQL_ROW_NOROW 3
#define SQL_ROW_NOROW
3
#define SQL_ROW_ADDED 4
#define SQL_ROW_ADDED
4
#define SQL_ROW_ERROR 5
#define SQL_ROW_ERROR
5
/* SQLForeignKeys - rule flags */
/* SQLForeignKeys - rule flags */
#define SQL_CASCADE 0
#define SQL_CASCADE
0
#define SQL_RESTRICT 1
#define SQL_RESTRICT
1
#define SQL_SET_NULL 2
#define SQL_SET_NULL
2
#define SQL_NO_ACTION
3
/* ODBC 3.0 */
#define SQL_NO_ACTION
3
/* ODBC 3.0 */
#define SQL_SET_DEFAULT 4
#define SQL_SET_DEFAULT
4
/* SQLForeignKeys - Deferrability (ODBC 3.0) */
/* SQLForeignKeys - Deferrability (ODBC 3.0) */
#define SQL_INITIALLY_DEFERRED 5
#define SQL_INITIALLY_DEFERRED
5
#define SQL_INITIALLY_IMMEDIATE
6
#define SQL_INITIALLY_IMMEDIATE
6
#define SQL_NOT_DEFFERABLE 2
#define SQL_NOT_DEFFERABLE
2
/* Constants not in isqlext.h but needed by the driver. I have no idea
/* 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
* if these correspond correctly with those from Microsoft or not. I don't
...
@@ -586,23 +588,23 @@ typedef struct tagSQL_INTERVAL_STRUCT
...
@@ -586,23 +588,23 @@ typedef struct tagSQL_INTERVAL_STRUCT
#define SQL_ACTIVE_CONNECTIONS 0
#define SQL_ACTIVE_CONNECTIONS 0
#define SQL_ACTIVE_STATEMENTS 1
#define SQL_ACTIVE_STATEMENTS 1
#define SQL_DATA_SOURCE_NAME 2
#define SQL_DATA_SOURCE_NAME 2
#define SQL_DRIVER_VER 7
#define SQL_DRIVER_VER
7
#define SQL_FETCH_DIRECTION 8
#define SQL_FETCH_DIRECTION
8
#define SQL_ODBC_API_CONFORMANCE 9
#define SQL_ODBC_API_CONFORMANCE 9
#define SQL_ROW_UPDATES 11
#define SQL_ROW_UPDATES
11
#define SQL_ODBC_SAG_CLI_CONFORMANCE
12
#define SQL_ODBC_SAG_CLI_CONFORMANCE 12
#define SQL_SERVER_NAME 13
#define SQL_SERVER_NAME
13
#define SQL_SEARCH_PATTERN_ESCAPE 14
#define SQL_SEARCH_PATTERN_ESCAPE 14
#define SQL_ODBC_SQL_CONFORMANCE 15
#define SQL_ODBC_SQL_CONFORMANCE 15
#define SQL_DBMS_NAME 17
#define SQL_DBMS_NAME
17
#define SQL_DBMS_VER 18
#define SQL_DBMS_VER
18
#define SQL_ACCESSIBLE_TABLES 19
#define SQL_ACCESSIBLE_TABLES 19
#define SQL_ACCESSIBLE_PROCEDURES 20
#define SQL_ACCESSIBLE_PROCEDURES 20
#define SQL_PROCEDURES 21
#define SQL_PROCEDURES
21
#define SQL_CONCAT_NULL_BEHAVIOR 22
#define SQL_CONCAT_NULL_BEHAVIOR 22
#define SQL_DATA_SOURCE_READ_ONLY 25
#define SQL_DATA_SOURCE_READ_ONLY 25
#define SQL_EXPRESSIONS_IN_ORDERBY 27
#define SQL_EXPRESSIONS_IN_ORDERBY 27
#define SQL_IDENTIFIER_CASE 28
#define SQL_IDENTIFIER_CASE
28
#define SQL_IDENTIFIER_QUOTE_CHAR 29
#define SQL_IDENTIFIER_QUOTE_CHAR 29
#define SQL_MAX_COLUMN_NAME_LEN 30
#define SQL_MAX_COLUMN_NAME_LEN 30
#define SQL_MAX_CURSOR_NAME_LEN 31
#define SQL_MAX_CURSOR_NAME_LEN 31
...
@@ -612,69 +614,69 @@ typedef struct tagSQL_INTERVAL_STRUCT
...
@@ -612,69 +614,69 @@ typedef struct tagSQL_INTERVAL_STRUCT
#define SQL_MAX_TABLE_NAME_LEN 35
#define SQL_MAX_TABLE_NAME_LEN 35
#define SQL_MULT_RESULT_SETS 36
#define SQL_MULT_RESULT_SETS 36
#define SQL_MULTIPLE_ACTIVE_TXN 37
#define SQL_MULTIPLE_ACTIVE_TXN 37
#define SQL_OUTER_JOINS 38
#define SQL_OUTER_JOINS
38
#define SQL_OWNER_TERM 39
#define SQL_OWNER_TERM
39
#define SQL_PROCEDURE_TERM 40
#define SQL_PROCEDURE_TERM
40
#define SQL_QUALIFIER_NAME_SEPARATOR
41
#define SQL_QUALIFIER_NAME_SEPARATOR 41
#define SQL_QUALIFIER_TERM 42
#define SQL_QUALIFIER_TERM
42
#define SQL_SCROLL_CONCURRENCY 43
#define SQL_SCROLL_CONCURRENCY 43
#define SQL_SCROLL_OPTIONS 44
#define SQL_SCROLL_OPTIONS
44
#define SQL_TABLE_TERM 45
#define SQL_TABLE_TERM
45
#define SQL_TXN_CAPABLE 46
#define SQL_TXN_CAPABLE
46
#define SQL_USER_NAME 47
#define SQL_USER_NAME
47
#define SQL_CONVERT_FUNCTIONS 48
#define SQL_CONVERT_FUNCTIONS 48
#define SQL_NUMERIC_FUNCTIONS 49
#define SQL_NUMERIC_FUNCTIONS 49
#define SQL_STRING_FUNCTIONS 50
#define SQL_STRING_FUNCTIONS 50
#define SQL_SYSTEM_FUNCTIONS 51
#define SQL_SYSTEM_FUNCTIONS 51
#define SQL_TIMEDATE_FUNCTIONS 52
#define SQL_TIMEDATE_FUNCTIONS 52
#define SQL_CONVERT_BIGINT 53
#define SQL_CONVERT_BIGINT
53
#define SQL_CONVERT_BINARY 54
#define SQL_CONVERT_BINARY
54
#define SQL_CONVERT_BIT 55
#define SQL_CONVERT_BIT
55
#define SQL_CONVERT_CHAR 56
#define SQL_CONVERT_CHAR
56
#define SQL_CONVERT_DATE 57
#define SQL_CONVERT_DATE
57
#define SQL_CONVERT_DECIMAL 58
#define SQL_CONVERT_DECIMAL
58
#define SQL_CONVERT_DOUBLE 59
#define SQL_CONVERT_DOUBLE
59
#define SQL_CONVERT_FLOAT 60
#define SQL_CONVERT_FLOAT
60
#define SQL_CONVERT_INTEGER 61
#define SQL_CONVERT_INTEGER
61
#define SQL_CONVERT_LONGVARCHAR 62
#define SQL_CONVERT_LONGVARCHAR 62
#define SQL_CONVERT_NUMERIC 63
#define SQL_CONVERT_NUMERIC
63
#define SQL_CONVERT_REAL 64
#define SQL_CONVERT_REAL
64
#define SQL_CONVERT_SMALLINT 65
#define SQL_CONVERT_SMALLINT 65
#define SQL_CONVERT_TIME 66
#define SQL_CONVERT_TIME
66
#define SQL_CONVERT_TIMESTAMP 67
#define SQL_CONVERT_TIMESTAMP 67
#define SQL_CONVERT_TINYINT 68
#define SQL_CONVERT_TINYINT
68
#define SQL_CONVERT_VARBINARY 69
#define SQL_CONVERT_VARBINARY 69
#define SQL_CONVERT_VARCHAR 70
#define SQL_CONVERT_VARCHAR
70
#define SQL_CONVERT_LONGVARBINARY 71
#define SQL_CONVERT_LONGVARBINARY 71
#define SQL_ODBC_SQL_OPT_IEF 73
#define SQL_ODBC_SQL_OPT_IEF 73
#define SQL_CORRELATION_NAME 74
#define SQL_CORRELATION_NAME 74
#define SQL_LOCK_TYPES 78
#define SQL_LOCK_TYPES
78
#define SQL_POS_OPERATIONS 79
#define SQL_POS_OPERATIONS
79
#define SQL_POSITIONED_STATEMENTS 80
#define SQL_POSITIONED_STATEMENTS 80
#define SQL_GETDATA_EXTENSIONS 81
#define SQL_GETDATA_EXTENSIONS 81
#define SQL_BOOKMARK_PERSISTENCE 82
#define SQL_BOOKMARK_PERSISTENCE 82
#define SQL_STATIC_SENSITIVITY 83
#define SQL_STATIC_SENSITIVITY 83
#define SQL_FILE_USAGE 84
#define SQL_FILE_USAGE
84
#define SQL_NULL_COLLATION 85
#define SQL_NULL_COLLATION
85
#define SQL_ALTER_TABLE 86
#define SQL_ALTER_TABLE
86
#define SQL_COLUMN_ALIAS 87
#define SQL_COLUMN_ALIAS
87
#define SQL_GROUP_BY 88
#define SQL_GROUP_BY
88
#define SQL_KEYWORDS 89
#define SQL_KEYWORDS
89
#define SQL_ORDER_BY_COLUMNS_IN_SELECT
90
#define SQL_ORDER_BY_COLUMNS_IN_SELECT 90
#define SQL_OWNER_USAGE 91
#define SQL_OWNER_USAGE
91
#define SQL_QUALIFIER_USAGE 92
#define SQL_QUALIFIER_USAGE
92
#define SQL_QUOTED_IDENTIFIER_CASE 93
#define SQL_QUOTED_IDENTIFIER_CASE 93
#define SQL_SPECIAL_CHARACTERS 94
#define SQL_SPECIAL_CHARACTERS 94
#define SQL_SUBQUERIES 95
#define SQL_SUBQUERIES
95
#define SQL_UNION 96
#define SQL_UNION
96
#define SQL_MAX_COLUMNS_IN_GROUP_BY 97
#define SQL_MAX_COLUMNS_IN_GROUP_BY 97
#define SQL_MAX_COLUMNS_IN_INDEX 98
#define SQL_MAX_COLUMNS_IN_INDEX 98
#define SQL_MAX_COLUMNS_IN_ORDER_BY 99
#define SQL_MAX_COLUMNS_IN_ORDER_BY 99
#define SQL_MAX_COLUMNS_IN_SELECT 100
#define SQL_MAX_COLUMNS_IN_SELECT 100
#define SQL_MAX_COLUMNS_IN_TABLE 101
#define SQL_MAX_COLUMNS_IN_TABLE 101
#define SQL_MAX_INDEX_SIZE 102
#define SQL_MAX_INDEX_SIZE
102
#define SQL_MAX_ROW_SIZE_INCLUDES_LONG
103
#define SQL_MAX_ROW_SIZE_INCLUDES_LONG 103
#define SQL_MAX_ROW_SIZE 104
#define SQL_MAX_ROW_SIZE
104
#define SQL_MAX_STATEMENT_LEN 105
#define SQL_MAX_STATEMENT_LEN 105
#define SQL_MAX_TABLES_IN_SELECT 106
#define SQL_MAX_TABLES_IN_SELECT 106
#define SQL_MAX_USER_NAME_LEN 107
#define SQL_MAX_USER_NAME_LEN 107
...
@@ -685,27 +687,27 @@ typedef struct tagSQL_INTERVAL_STRUCT
...
@@ -685,27 +687,27 @@ typedef struct tagSQL_INTERVAL_STRUCT
#define SQL_MAX_BINARY_LITERAL_LEN 112
#define SQL_MAX_BINARY_LITERAL_LEN 112
#define SQL_LIKE_ESCAPE_CLAUSE 113
#define SQL_LIKE_ESCAPE_CLAUSE 113
#define SQL_OJ_CAPABILITIES 65003
#define SQL_OJ_CAPABILITIES
65003
/* ODBC 3.0 alias */
/* ODBC 3.0 alias */
#define SQL_MAX_SCHEMA_NAME_LEN SQL_MAX_OWNER_NAME_LEN
#define SQL_MAX_SCHEMA_NAME_LEN
SQL_MAX_OWNER_NAME_LEN
/* Bit Masks describing the behaviour of the GetInfo functions named above */
/* Bit Masks describing the behaviour of the GetInfo functions named above */
/*
/*
* alter table behaviour(4 byte val)
* alter table behaviour(4 byte val)
*/
*/
#define SQL_AT_ADD_COLUMN 0x00000001L
#define SQL_AT_ADD_COLUMN
0x00000001L
#define SQL_AT_DROP_COLUMN 0x00000002L
#define SQL_AT_DROP_COLUMN
0x00000002L
/*
/*
* BookMark Persistence, a SQLUINTEGER bitmask(ie 4 bytes)
* BookMark Persistence, a SQLUINTEGER bitmask(ie 4 bytes)
*/
*/
#define SQL_BP_CLOSE 0x00000001L
#define SQL_BP_CLOSE
0x00000001L
#define SQL_BP_DELETE 0x00000002L
#define SQL_BP_DELETE
0x00000002L
#define SQL_BP_DROP 0x00000004L
#define SQL_BP_DROP
0x00000004L
#define SQL_BP_TRANSACTION 0x00000008L
#define SQL_BP_TRANSACTION
0x00000008L
#define SQL_BP_UPDATE 0x00000010L
#define SQL_BP_UPDATE
0x00000010L
#define SQL_BP_OTHER_HSTMT 0x00000020L
#define SQL_BP_OTHER_HSTMT
0x00000020L
#define SQL_BP_SCROLL 0x00000040L
#define SQL_BP_SCROLL
0x00000040L
/*
/*
* Conversion bitmasks for testing which conversions are supported by
* Conversion bitmasks for testing which conversions are supported by
...
@@ -715,57 +717,57 @@ typedef struct tagSQL_INTERVAL_STRUCT
...
@@ -715,57 +717,57 @@ typedef struct tagSQL_INTERVAL_STRUCT
* is SQLUINTEGER, i.e. 4 bytes). Note that these masks are defined in
* 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.
* alphabetical order, I have no idea if this maps to MS's SDK.
*/
*/
#define SQL_CVT_CHAR 0x00000001L
#define SQL_CVT_CHAR
0x00000001L
#define SQL_CVT_NUMERIC 0x00000002L
#define SQL_CVT_NUMERIC
0x00000002L
#define SQL_CVT_DECIMAL 0x00000004L
#define SQL_CVT_DECIMAL
0x00000004L
#define SQL_CVT_INTEGER 0x00000008L
#define SQL_CVT_INTEGER
0x00000008L
#define SQL_CVT_SMALLINT 0x00000010L
#define SQL_CVT_SMALLINT
0x00000010L
#define SQL_CVT_FLOAT 0x00000020L
#define SQL_CVT_FLOAT
0x00000020L
#define SQL_CVT_REAL 0x00000040L
#define SQL_CVT_REAL
0x00000040L
#define SQL_CVT_DOUBLE 0x00000080L
#define SQL_CVT_DOUBLE
0x00000080L
#define SQL_CVT_VARCHAR 0x00000100L
#define SQL_CVT_VARCHAR
0x00000100L
#define SQL_CVT_LONGVARCHAR
0x00000200L
#define SQL_CVT_LONGVARCHAR
0x00000200L
#define SQL_CVT_BINARY 0x00000400L
#define SQL_CVT_BINARY
0x00000400L
#define SQL_CVT_VARBINARY 0x00000800L
#define SQL_CVT_VARBINARY
0x00000800L
#define SQL_CVT_BIT 0x00001000L
#define SQL_CVT_BIT
0x00001000L
#define SQL_CVT_TINYINT 0x00002000L
#define SQL_CVT_TINYINT
0x00002000L
#define SQL_CVT_BIGINT 0x00004000L
#define SQL_CVT_BIGINT
0x00004000L
#define SQL_CVT_DATE 0x00008000L
#define SQL_CVT_DATE
0x00008000L
#define SQL_CVT_TIME 0x00010000L
#define SQL_CVT_TIME
0x00010000L
#define SQL_CVT_TIMESTAMP 0x00020000L
#define SQL_CVT_TIMESTAMP
0x00020000L
#define SQL_CVT_LONGVARBINARY 0x00040000L
#define SQL_CVT_LONGVARBINARY
0x00040000L
/* extras added in ODBC 3.0 */
/* extras added in ODBC 3.0 */
#define SQL_CVT_INTERVAL_YEAR_MONTH
0x00080000L
#define SQL_CVT_INTERVAL_YEAR_MONTH
0x00080000L
#define SQL_CVT_INTERVAL_DAY_TIME 0x00100000L
#define SQL_CVT_INTERVAL_DAY_TIME
0x00100000L
/*
/*
* concat null behaviour(2 byte val)
* concat null behaviour(2 byte val)
*/
*/
#define SQL_CB_NULL 0x0000
#define SQL_CB_NULL
0x0000
#define SQL_CB_NON_NULL 0x0001
#define SQL_CB_NON_NULL
0x0001
/*
/*
* correlation name
* correlation name
*/
*/
#define SQL_CN_NONE 0x0000
#define SQL_CN_NONE
0x0000
#define SQL_CN_DIFFERENT 0x0001
#define SQL_CN_DIFFERENT
0x0001
#define SQL_CN_ANY 0x0002
#define SQL_CN_ANY
0x0002
/*
/*
* Fetch Direction. A SQLINTEGER bitmask enumerating the supported fetch
* Fetch Direction. A SQLINTEGER bitmask enumerating the supported fetch
* direction options. This information type has been deprecated in
* direction options. This information type has been deprecated in
* ODBC 3.0.
* ODBC 3.0.
*/
*/
#define SQL_FD_FETCH_NEXT 0x00000001L
#define SQL_FD_FETCH_NEXT
0x00000001L
#define SQL_FD_FETCH_FIRST 0x00000002L
#define SQL_FD_FETCH_FIRST
0x00000002L
#define SQL_FD_FETCH_LAST 0x00000004L
#define SQL_FD_FETCH_LAST
0x00000004L
#define SQL_FD_FETCH_PRIOR 0x00000008L
#define SQL_FD_FETCH_PRIOR
0x00000008L
#define SQL_FD_FETCH_ABSOLUTE 0x00000010L
#define SQL_FD_FETCH_ABSOLUTE
0x00000010L
#define SQL_FD_FETCH_RELATIVE 0x00000020L
#define SQL_FD_FETCH_RELATIVE
0x00000020L
#define SQL_FD_FETCH_RESUME 0x00000040L
#define SQL_FD_FETCH_RESUME
0x00000040L
#define SQL_FD_FETCH_BOOKMARK 0x00000080L
#define SQL_FD_FETCH_BOOKMARK
0x00000080L
/*
/*
* Conversion bitmasks for testing which function conversions are supported by
* Conversion bitmasks for testing which function conversions are supported by
...
@@ -775,184 +777,184 @@ typedef struct tagSQL_INTERVAL_STRUCT
...
@@ -775,184 +777,184 @@ typedef struct tagSQL_INTERVAL_STRUCT
* is SQLUINTEGER, i.e. 4 bytes). Note that these masks are defined in
* 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.
* alphabetical order, I have no idea if this maps to MS's SDK.
*/
*/
#define SQL_FN_CVT_CONVERT 0x00000001L
#define SQL_FN_CVT_CONVERT
0x00000001L
#define SQL_FN_CVT_CAST 0x00000002L
#define SQL_FN_CVT_CAST
0x00000002L
/*
/*
* File Usage. A SQLUSMALLINT indicating how a singel-tier driver treats
* File Usage. A SQLUSMALLINT indicating how a singel-tier driver treats
* files in a data source.
* files in a data source.
*/
*/
#define SQL_FILE_NOT_SUPPORTED 0x0000
#define SQL_FILE_NOT_SUPPORTED
0x0000
#define SQL_FILE_TABLE 0x0001
#define SQL_FILE_TABLE
0x0001
#define SQL_FILE_QUALIFIER 0x0002
#define SQL_FILE_QUALIFIER
0x0002
#define SQL_FILE_CATALOG SQL_FILE_CATALOG
#define SQL_FILE_CATALOG
SQL_FILE_CATALOG
/*
/*
* GetData Extensions. A SQLUINTEGER(4 bytes) bitmask enumerating extensions
* GetData Extensions. A SQLUINTEGER(4 bytes) bitmask enumerating extensions
* to SQLGetData.
* to SQLGetData.
*/
*/
#define SQL_GD_ANY_COLUMN 0x00000001L
#define SQL_GD_ANY_COLUMN
0x00000001L
#define SQL_GD_ANY_ORDER 0x00000002L
#define SQL_GD_ANY_ORDER
0x00000002L
#define SQL_GD_BLOCK 0x00000004L
#define SQL_GD_BLOCK
0x00000004L
#define SQL_GD_BOUND 0x00000008L
#define SQL_GD_BOUND
0x00000008L
/*
/*
* Group By. A SQLUSMALLINT value specifying the relationship between the
* Group By. A SQLUSMALLINT value specifying the relationship between the
* columns in the GROUP BY clause and the non-aggregated columns in the
* columns in the GROUP BY clause and the non-aggregated columns in the
* select list.
* select list.
*/
*/
#define SQL_GB_NOT_SUPPORTED 0x0000
#define SQL_GB_NOT_SUPPORTED
0x0000
#define SQL_GB_GROUP_BY_EQUALS_SELECT 0x0001
#define SQL_GB_GROUP_BY_EQUALS_SELECT 0x0001
#define SQL_GB_GROUP_BY_CONTAINS_SELECT 0x0002
#define SQL_GB_GROUP_BY_CONTAINS_SELECT 0x0002
#define SQL_GB_NO_RELATION 0x0003
#define SQL_GB_NO_RELATION
0x0003
/* added in ODBC 3.0 */
/* added in ODBC 3.0 */
#define SQL_GB_COLLATE 0x0004
#define SQL_GB_COLLATE
0x0004
/*
/*
* Identifier Case. A SQLUSMALLINT indicating how identifiers are handled.
* Identifier Case. A SQLUSMALLINT indicating how identifiers are handled.
*/
*/
#define SQL_IC_UPPER 0x0001
#define SQL_IC_UPPER
0x0001
#define SQL_IC_LOWER 0x0002
#define SQL_IC_LOWER
0x0002
#define SQL_IC_SENSITIVE 0x0003
#define SQL_IC_SENSITIVE
0x0003
#define SQL_IC_MIXED 0x0004
#define SQL_IC_MIXED
0x0004
/*
/*
* Lock types. A SQLINTEGER bitmask enumerating the supported lock types for
* Lock types. A SQLINTEGER bitmask enumerating the supported lock types for
* the fLock argument in SQLSetPos. Depreciated in 3.0.
* the fLock argument in SQLSetPos. Depreciated in 3.0.
*/
*/
#define SQL_LCK_NO_CHANGE 0x00000001L
#define SQL_LCK_NO_CHANGE
0x00000001L
#define SQL_LCK_EXCLUSIVE 0x00000002L
#define SQL_LCK_EXCLUSIVE
0x00000002L
#define SQL_LCK_UNLOCK 0x00000004L
#define SQL_LCK_UNLOCK
0x00000004L
/*
/*
* Non Nullable Columns. A SQLUSMALLINT value indicating if the data source
* Non Nullable Columns. A SQLUSMALLINT value indicating if the data source
* supports NOT NULL in columns.
* supports NOT NULL in columns.
*/
*/
#define SQL_NNC_NULL 0x0000
#define SQL_NNC_NULL
0x0000
#define SQL_NNC_NON_NULL 0x0001
#define SQL_NNC_NON_NULL
0x0001
/*
/*
* Null Collation. A SQLUSMALLINT value specifying where NULLS are sorted in
* Null Collation. A SQLUSMALLINT value specifying where NULLS are sorted in
* a result set.
* a result set.
*/
*/
#define SQL_NC_HIGH 0x0001
#define SQL_NC_HIGH
0x0001
#define SQL_NC_LOW 0x0003
#define SQL_NC_LOW
0x0003
#define SQL_NC_START 0x0002
#define SQL_NC_START
0x0002
#define SQL_NC_END 0x0004
#define SQL_NC_END
0x0004
/*
/*
* Numeric Functions. A SQLUINTEGER bitmask enumerating the scalar numeric
* Numeric Functions. A SQLUINTEGER bitmask enumerating the scalar numeric
* functions supported by the driver and associated data source.
* functions supported by the driver and associated data source.
*/
*/
#define SQL_FN_NUM_ABS 0x00000001L
#define SQL_FN_NUM_ABS
0x00000001L
#define SQL_FN_NUM_ACOS 0x00000002L
#define SQL_FN_NUM_ACOS
0x00000002L
#define SQL_FN_NUM_ASIN 0x00000004L
#define SQL_FN_NUM_ASIN
0x00000004L
#define SQL_FN_NUM_ATAN 0x00000008L
#define SQL_FN_NUM_ATAN
0x00000008L
#define SQL_FN_NUM_ATAN2 0x00000010L
#define SQL_FN_NUM_ATAN2
0x00000010L
#define SQL_FN_NUM_CEILING 0x00000020L
#define SQL_FN_NUM_CEILING
0x00000020L
#define SQL_FN_NUM_COS 0x00000040L
#define SQL_FN_NUM_COS
0x00000040L
#define SQL_FN_NUM_COT 0x00000080L
#define SQL_FN_NUM_COT
0x00000080L
#define SQL_FN_NUM_EXP 0x00000100L
#define SQL_FN_NUM_EXP
0x00000100L
#define SQL_FN_NUM_FLOOR 0x00000200L
#define SQL_FN_NUM_FLOOR
0x00000200L
#define SQL_FN_NUM_LOG 0x00000400L
#define SQL_FN_NUM_LOG
0x00000400L
#define SQL_FN_NUM_MOD 0x00000800L
#define SQL_FN_NUM_MOD
0x00000800L
#define SQL_FN_NUM_SIGN 0x00001000L
#define SQL_FN_NUM_SIGN
0x00001000L
#define SQL_FN_NUM_SIN 0x00002000L
#define SQL_FN_NUM_SIN
0x00002000L
#define SQL_FN_NUM_SQRT 0x00004000L
#define SQL_FN_NUM_SQRT
0x00004000L
#define SQL_FN_NUM_TAN 0x00008000L
#define SQL_FN_NUM_TAN
0x00008000L
#define SQL_FN_NUM_PI 0x00010000L
#define SQL_FN_NUM_PI
0x00010000L
#define SQL_FN_NUM_RAND 0x00020000L
#define SQL_FN_NUM_RAND
0x00020000L
/* Added in ODBC 2.0 */
/* Added in ODBC 2.0 */
#define SQL_FN_NUM_DEGREES 0x00040000L
#define SQL_FN_NUM_DEGREES
0x00040000L
#define SQL_FN_NUM_LOG10 0x00080000L
#define SQL_FN_NUM_LOG10
0x00080000L
#define SQL_FN_NUM_POWER 0x00100000L
#define SQL_FN_NUM_POWER
0x00100000L
#define SQL_FN_NUM_RADIANS 0x00200000L
#define SQL_FN_NUM_RADIANS
0x00200000L
#define SQL_FN_NUM_ROUND 0x00400000L
#define SQL_FN_NUM_ROUND
0x00400000L
#define SQL_FN_NUM_TRUNCATE 0x00800000L
#define SQL_FN_NUM_TRUNCATE
0x00800000L
/*
/*
* Outer Join Capabilites. A SQLUINTEGER bitmask enumerating the types of
* Outer Join Capabilites. A SQLUINTEGER bitmask enumerating the types of
* outer joins supported by the driver and data source.
* outer joins supported by the driver and data source.
*/
*/
#define SQL_OJ_LEFT 0x00000001L
#define SQL_OJ_LEFT
0x00000001L
#define SQL_OJ_RIGHT 0x00000002L
#define SQL_OJ_RIGHT
0x00000002L
#define SQL_OJ_FULL 0x00000004L
#define SQL_OJ_FULL
0x00000004L
#define SQL_OJ_NESTED 0x00000008L
#define SQL_OJ_NESTED
0x00000008L
#define SQL_OJ_NOT_ORDERED 0x00000010L
#define SQL_OJ_NOT_ORDERED
0x00000010L
#define SQL_OJ_INNER 0x00000020L
#define SQL_OJ_INNER
0x00000020L
#define SQL_OJ_ALL_COMPARISON_OPS 0x00000040L
#define SQL_OJ_ALL_COMPARISON_OPS
0x00000040L
/*
/*
* ODBC API Conformance. A SQLSMALLINT value indicating a drivers ODBC
* ODBC API Conformance. A SQLSMALLINT value indicating a drivers ODBC
* level conformance. Depreciated in 3.0.
* level conformance. Depreciated in 3.0.
*/
*/
#define SQL_OAC_NONE 0x0000
#define SQL_OAC_NONE
0x0000
#define SQL_OAC_LEVEL1 0x0001
#define SQL_OAC_LEVEL1
0x0001
#define SQL_OAC_LEVEL2 0x0002
#define SQL_OAC_LEVEL2
0x0002
/*
/*
* ODBC SAG CLI Conformance. A SQLSMALLINT value indicating a drivers
* ODBC SAG CLI Conformance. A SQLSMALLINT value indicating a drivers
* SAG CLI conformance.
* SAG CLI conformance.
*/
*/
#define SQL_OSCC_NOT_COMPLIANT 0x0000
#define SQL_OSCC_NOT_COMPLIANT
0x0000
#define SQL_OSCC_COMPLIANT 0x0001
#define SQL_OSCC_COMPLIANT
0x0001
/*
/*
* ODBC SQL Conformance. A SQLSMALLINT value indicating a drivers SQL
* ODBC SQL Conformance. A SQLSMALLINT value indicating a drivers SQL
* grammar support. Depreciated in 3.0.
* grammar support. Depreciated in 3.0.
*/
*/
#define SQL_OSC_MINIMUM 0x0000
#define SQL_OSC_MINIMUM
0x0000
#define SQL_OSC_CORE 0x0001
#define SQL_OSC_CORE
0x0001
#define SQL_OSC_EXTENDED 0x0002
#define SQL_OSC_EXTENDED
0x0002
/*
/*
* Owner Usage. A SQLUINTEGER bitmask.
* Owner Usage. A SQLUINTEGER bitmask.
*/
*/
#define SQL_OU_DML_STATEMENTS 0x00000001L
#define SQL_OU_DML_STATEMENTS
0x00000001L
#define SQL_OU_PROCEDURE_INVOCATION
0x00000002L
#define SQL_OU_PROCEDURE_INVOCATION
0x00000002L
#define SQL_OU_TABLE_DEFINITION 0x00000004L
#define SQL_OU_TABLE_DEFINITION
0x00000004L
#define SQL_OU_INDEX_DEFINITION 0x00000008L
#define SQL_OU_INDEX_DEFINITION
0x00000008L
#define SQL_OU_PRIVILEGE_DEFINITION
0x00000010L
#define SQL_OU_PRIVILEGE_DEFINITION
0x00000010L
/*
/*
* Schema Usage. A SQLUINTEGER bitmask enumerating the statements in which
* Schema Usage. A SQLUINTEGER bitmask enumerating the statements in which
* schemas can be used. Renamed in ODBC 3.0 from SQL_OWNER_USAGE
* 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_DML_STATEMENTS
SQL_OU_DML_STATEMENTS
#define SQL_SU_PROCEDURE_INVOCATION
SQL_OU_PROCEDURE_INVOCATION
#define SQL_SU_PROCEDURE_INVOCATION
SQL_OU_PROCEDURE_INVOCATION
#define SQL_SU_TABLE_DEFINITION SQL_OU_TABLE_DEFINITION
#define SQL_SU_TABLE_DEFINITION
SQL_OU_TABLE_DEFINITION
#define SQL_SU_INDEX_DEFINITION SQL_OU_INDEX_DEFINITION
#define SQL_SU_INDEX_DEFINITION
SQL_OU_INDEX_DEFINITION
#define SQL_SU_PRIVILEGE_DEFINITION
SQL_OU_PRIVILEGE_DEFINITION
#define SQL_SU_PRIVILEGE_DEFINITION
SQL_OU_PRIVILEGE_DEFINITION
/*
/*
* Pos. Operations. A SQLINTEGER bitmask enumerating the supported operations
* Pos. Operations. A SQLINTEGER bitmask enumerating the supported operations
* in SQLSetPos. Depreciated in ODBC 3.0.
* in SQLSetPos. Depreciated in ODBC 3.0.
*/
*/
#define SQL_POS_POSITION 0x00000001L
#define SQL_POS_POSITION
0x00000001L
#define SQL_POS_REFRESH 0x00000002L
#define SQL_POS_REFRESH
0x00000002L
#define SQL_POS_UPDATE 0x00000004L
#define SQL_POS_UPDATE
0x00000004L
#define SQL_POS_DELETE 0x00000008L
#define SQL_POS_DELETE
0x00000008L
#define SQL_POS_ADD 0x00000010L
#define SQL_POS_ADD
0x00000010L
/*
/*
* SQLSetPos
* SQLSetPos
*/
*/
#define SQL_ENTIRE_ROWSET 0
#define SQL_ENTIRE_ROWSET
0
#define SQL_POSITION 0
#define SQL_POSITION
0
#define SQL_REFRESH
1
#define SQL_REFRESH
1
#define SQL_UPDATE 2
#define SQL_UPDATE
2
#define SQL_DELETE 3
#define SQL_DELETE
3
#define SQL_ADD 4
#define SQL_ADD
4
/*
/*
* SQLSetPos Lock options
* SQLSetPos Lock options
*/
*/
#define SQL_LOCK_NO_CHANGE 0
#define SQL_LOCK_NO_CHANGE
0
#define SQL_LOCK_EXCLUSIVE 1
#define SQL_LOCK_EXCLUSIVE
1
#define SQL_LOCK_UNLOCK 2
#define SQL_LOCK_UNLOCK
2
#define SQL_POSITION_TO(hstmt,irow) \
#define SQL_POSITION_TO(hstmt,irow) \
SQLSetPos(hstmt,irow,SQL_POSITION,SQL_LOCK_NO_CHANGE)
SQLSetPos(hstmt,irow,SQL_POSITION,SQL_LOCK_NO_CHANGE)
...
@@ -971,55 +973,55 @@ typedef struct tagSQL_INTERVAL_STRUCT
...
@@ -971,55 +973,55 @@ typedef struct tagSQL_INTERVAL_STRUCT
* Positioned Statements. A SQLINTEGER bitmask enumerating the supported
* Positioned Statements. A SQLINTEGER bitmask enumerating the supported
* positioned SQL statements.
* positioned SQL statements.
*/
*/
#define SQL_PS_POSITIONED_DELETE 0x00000001L
#define SQL_PS_POSITIONED_DELETE
0x00000001L
#define SQL_PS_POSITIONED_UPDATE 0x00000002L
#define SQL_PS_POSITIONED_UPDATE
0x00000002L
#define SQL_PS_SELECT_FOR_UPDATE 0x00000004L
#define SQL_PS_SELECT_FOR_UPDATE
0x00000004L
/* Qualifier Location. A SQLUSMALLINT value indicating the position of the
/* Qualifier Location. A SQLUSMALLINT value indicating the position of the
* catalog in a qualified table name.
* catalog in a qualified table name.
*/
*/
#define SQL_QL_START 0x0001
#define SQL_QL_START
0x0001
#define SQL_QL_END 0x0002
#define SQL_QL_END
0x0002
/*
/*
* Qualifier Usage. A SQLUINTEGER bitmask.
* Qualifier Usage. A SQLUINTEGER bitmask.
*/
*/
#define SQL_QU_DML_STATEMENTS 0x00000001L
#define SQL_QU_DML_STATEMENTS
0x00000001L
#define SQL_QU_PROCEDURE_INVOCATION
0x00000002L
#define SQL_QU_PROCEDURE_INVOCATION
0x00000002L
#define SQL_QU_TABLE_DEFINITION 0x00000004L
#define SQL_QU_TABLE_DEFINITION
0x00000004L
#define SQL_QU_INDEX_DEFINITION 0x00000008L
#define SQL_QU_INDEX_DEFINITION
0x00000008L
#define SQL_QU_PRIVILEGE_DEFINITION
0x00000010L
#define SQL_QU_PRIVILEGE_DEFINITION
0x00000010L
/* The above is renamed in ODBC 3.0 to Catalog Usage. */
/* The above is renamed in ODBC 3.0 to Catalog Usage. */
#define SQL_CU_DML_STATEMENTS SQL_QU_DML_STATEMENTS
#define SQL_CU_DML_STATEMENTS
SQL_QU_DML_STATEMENTS
#define SQL_CU_PROCEDURE_INVOCATION
SQL_QU_PROCEDURE_INVOCATION
#define SQL_CU_PROCEDURE_INVOCATION
SQL_QU_PROCEDURE_INVOCATION
#define SQL_CU_TABLE_DEFINITION SQL_QU_TABLE_DEFINITION
#define SQL_CU_TABLE_DEFINITION
SQL_QU_TABLE_DEFINITION
#define SQL_CU_INDEX_DEFINITION SQL_QU_INDEX_DEFINITION
#define SQL_CU_INDEX_DEFINITION
SQL_QU_INDEX_DEFINITION
#define SQL_CU_PRIVILEGE_DEFINITION
SQL_QU_PRIVILEGE_DEFINITION
#define SQL_CU_PRIVILEGE_DEFINITION
SQL_QU_PRIVILEGE_DEFINITION
/* ODBC 3.0 renamed the above to Catalog Location. */
/* ODBC 3.0 renamed the above to Catalog Location. */
#define SQL_CL_START SQL_QL_START
#define SQL_CL_START
SQL_QL_START
#define SQL_CL_END SQL_QL_END
#define SQL_CL_END
SQL_QL_END
/*
/*
* Scroll Concurrency. A SQLINTEGER bitmask enumerating the concurrency
* Scroll Concurrency. A SQLINTEGER bitmask enumerating the concurrency
* control options supported for the cursor. Depreciated in ODBC 3.0.
* control options supported for the cursor. Depreciated in ODBC 3.0.
*/
*/
#define SQL_SCCO_READ_ONLY 0x00000001L
#define SQL_SCCO_READ_ONLY
0x00000001L
#define SQL_SCCO_LOCK 0x00000002L
#define SQL_SCCO_LOCK
0x00000002L
#define SQL_SCCO_OPT_ROWVER 0x00000004L
#define SQL_SCCO_OPT_ROWVER
0x00000004L
#define SQL_SCCO_OPT_VALUES 0x00000008L
#define SQL_SCCO_OPT_VALUES
0x00000008L
/*
/*
* Scroll Options. A SQLUINTEGER bitmask enumerating the scroll options
* Scroll Options. A SQLUINTEGER bitmask enumerating the scroll options
* supported for scrollable cursors.
* supported for scrollable cursors.
*/
*/
#define SQL_SO_FORWARD_ONLY 0x00000001L
#define SQL_SO_FORWARD_ONLY
0x00000001L
#define SQL_SO_KEYSET_DRIVEN 0x00000002L
#define SQL_SO_KEYSET_DRIVEN
0x00000002L
#define SQL_SO_DYNAMIC 0x00000004L
#define SQL_SO_DYNAMIC
0x00000004L
#define SQL_SO_MIXED 0x00000008L
#define SQL_SO_MIXED
0x00000008L
#define SQL_SO_STATIC 0x00000010L
#define SQL_SO_STATIC
0x00000010L
/*
/*
* Static Sensitity. A SQLINTEGER bitmask enumerating whether changes made
* Static Sensitity. A SQLINTEGER bitmask enumerating whether changes made
...
@@ -1027,173 +1029,173 @@ typedef struct tagSQL_INTERVAL_STRUCT
...
@@ -1027,173 +1029,173 @@ typedef struct tagSQL_INTERVAL_STRUCT
* or positioned update or delete statements can be detected by that
* or positioned update or delete statements can be detected by that
* application.
* application.
*/
*/
#define SQL_SS_ADDITIONS 0x00000001L
#define SQL_SS_ADDITIONS
0x00000001L
#define SQL_SS_DELETIONS 0x00000002L
#define SQL_SS_DELETIONS
0x00000002L
#define SQL_SS_UPDATES 0x00000004L
#define SQL_SS_UPDATES
0x00000004L
/*
/*
* String Functions. A SQLUINTEGER bitmask enumerating the scalar string
* String Functions. A SQLUINTEGER bitmask enumerating the scalar string
* functions supported by the driver and associated data source.
* functions supported by the driver and associated data source.
*/
*/
#define SQL_FN_STR_CONCAT 0x00000001L
#define SQL_FN_STR_CONCAT
0x00000001L
#define SQL_FN_STR_INSERT 0x00000002L
#define SQL_FN_STR_INSERT
0x00000002L
#define SQL_FN_STR_LEFT 0x00000004L
#define SQL_FN_STR_LEFT
0x00000004L
#define SQL_FN_STR_LTRIM 0x00000008L
#define SQL_FN_STR_LTRIM
0x00000008L
#define SQL_FN_STR_LENGTH 0x00000010L
#define SQL_FN_STR_LENGTH
0x00000010L
#define SQL_FN_STR_LOCATE 0x00000020L
#define SQL_FN_STR_LOCATE
0x00000020L
#define SQL_FN_STR_LCASE 0x00000040L
#define SQL_FN_STR_LCASE
0x00000040L
#define SQL_FN_STR_REPEAT 0x00000080L
#define SQL_FN_STR_REPEAT
0x00000080L
#define SQL_FN_STR_REPLACE 0x00000100L
#define SQL_FN_STR_REPLACE
0x00000100L
#define SQL_FN_STR_RIGHT 0x00000200L
#define SQL_FN_STR_RIGHT
0x00000200L
#define SQL_FN_STR_RTRIM 0x00000400L
#define SQL_FN_STR_RTRIM
0x00000400L
#define SQL_FN_STR_SUBSTRING 0x00000800L
#define SQL_FN_STR_SUBSTRING
0x00000800L
#define SQL_FN_STR_UCASE 0x00001000L
#define SQL_FN_STR_UCASE
0x00001000L
#define SQL_FN_STR_ASCII 0x00002000L
#define SQL_FN_STR_ASCII
0x00002000L
#define SQL_FN_STR_CHAR 0x00004000L
#define SQL_FN_STR_CHAR
0x00004000L
#define SQL_FN_STR_DIFFERENCE 0x00008000L
#define SQL_FN_STR_DIFFERENCE
0x00008000L
#define SQL_FN_STR_LOCATE_2 0x00010000L
#define SQL_FN_STR_LOCATE_2
0x00010000L
#define SQL_FN_STR_SOUNDEX 0x00020000L
#define SQL_FN_STR_SOUNDEX
0x00020000L
#define SQL_FN_STR_SPACE 0x00040000L
#define SQL_FN_STR_SPACE
0x00040000L
/* introduced in ODBC 3.0 */
/* introduced in ODBC 3.0 */
#define SQL_FN_STR_BIT_LENGTH 0x00080000L
#define SQL_FN_STR_BIT_LENGTH
0x00080000L
#define SQL_FN_STR_CHAR_LENGTH 0x00100000L
#define SQL_FN_STR_CHAR_LENGTH
0x00100000L
#define SQL_FN_STR_CHARACTER_LENGTH
0x00200000L
#define SQL_FN_STR_CHARACTER_LENGTH
0x00200000L
#define SQL_FN_STR_OCTET_LENGTH 0x00400000L
#define SQL_FN_STR_OCTET_LENGTH
0x00400000L
#define SQL_FN_STR_POSITION 0x00800000L
#define SQL_FN_STR_POSITION
0x00800000L
/*
/*
* Subqueries. A SQLUINTEGER bitmask enumerating the predicates that support
* Subqueries. A SQLUINTEGER bitmask enumerating the predicates that support
* subqueries.
* subqueries.
*/
*/
#define SQL_SQ_COMPARISON 0x00000001L
#define SQL_SQ_COMPARISON
0x00000001L
#define SQL_SQ_EXISTS 0x00000002L
#define SQL_SQ_EXISTS
0x00000002L
#define SQL_SQ_IN 0x00000004L
#define SQL_SQ_IN
0x00000004L
#define SQL_SQ_QUANTIFIED 0x00000008L
#define SQL_SQ_QUANTIFIED
0x00000008L
#define SQL_SQ_CORRELATED_SUBQUERIES 0x00000010L
#define SQL_SQ_CORRELATED_SUBQUERIES 0x00000010L
/*
/*
* System Functions. A SQLUINTEGER bitmask enumerating the scalar system
* System Functions. A SQLUINTEGER bitmask enumerating the scalar system
* functions supported by the driver and associated data source.
* functions supported by the driver and associated data source.
*/
*/
#define SQL_FN_SYS_USERNAME 0x00000001L
#define SQL_FN_SYS_USERNAME
0x00000001L
#define SQL_FN_SYS_DBNAME 0x00000002L
#define SQL_FN_SYS_DBNAME
0x00000002L
#define SQL_FN_SYS_IFNULL 0x00000004L
#define SQL_FN_SYS_IFNULL
0x00000004L
/*
/*
* Time-Date add and diff intervals. A SQLUINTEGER bitmask enumerating the
* Time-Date add and diff intervals. A SQLUINTEGER bitmask enumerating the
* timestamp intervals supported by the driver and associated data source
* timestamp intervals supported by the driver and associated data source
* for the TIMESTAMPADD and TIMESTAMPDIFF scalar function.
* for the TIMESTAMPADD and TIMESTAMPDIFF scalar function.
*/
*/
#define SQL_FN_TSI_FRAC_SECOND 0x00000001L
#define SQL_FN_TSI_FRAC_SECOND
0x00000001L
#define SQL_FN_TSI_SECOND 0x00000002L
#define SQL_FN_TSI_SECOND
0x00000002L
#define SQL_FN_TSI_MINUTE 0x00000004L
#define SQL_FN_TSI_MINUTE
0x00000004L
#define SQL_FN_TSI_HOUR 0x00000008L
#define SQL_FN_TSI_HOUR
0x00000008L
#define SQL_FN_TSI_DAY 0x00000010L
#define SQL_FN_TSI_DAY
0x00000010L
#define SQL_FN_TSI_WEEK 0x00000020L
#define SQL_FN_TSI_WEEK
0x00000020L
#define SQL_FN_TSI_MONTH 0x00000040L
#define SQL_FN_TSI_MONTH
0x00000040L
#define SQL_FN_TSI_QUARTER 0x00000080L
#define SQL_FN_TSI_QUARTER
0x00000080L
#define SQL_FN_TSI_YEAR 0x00000100L
#define SQL_FN_TSI_YEAR
0x00000100L
/*
/*
* Time/Date functions. A SQLUINTEGER bitmask enumerating the scalar date
* Time/Date functions. A SQLUINTEGER bitmask enumerating the scalar date
* and time functions supported by the driver and associated data source.
* and time functions supported by the driver and associated data source.
*/
*/
#define SQL_FN_TD_NOW 0x00000001L
#define SQL_FN_TD_NOW
0x00000001L
#define SQL_FN_TD_CURDATE 0x00000002L
#define SQL_FN_TD_CURDATE
0x00000002L
#define SQL_FN_TD_DAYOFMONTH 0x00000004L
#define SQL_FN_TD_DAYOFMONTH
0x00000004L
#define SQL_FN_TD_DAYOFWEEK 0x00000008L
#define SQL_FN_TD_DAYOFWEEK
0x00000008L
#define SQL_FN_TD_DAYOFYEAR 0x00000010L
#define SQL_FN_TD_DAYOFYEAR
0x00000010L
#define SQL_FN_TD_MONTH 0x00000020L
#define SQL_FN_TD_MONTH
0x00000020L
#define SQL_FN_TD_QUARTER 0x00000040L
#define SQL_FN_TD_QUARTER
0x00000040L
#define SQL_FN_TD_WEEK 0x00000080L
#define SQL_FN_TD_WEEK
0x00000080L
#define SQL_FN_TD_YEAR 0x00000100L
#define SQL_FN_TD_YEAR
0x00000100L
#define SQL_FN_TD_CURTIME 0x00000200L
#define SQL_FN_TD_CURTIME
0x00000200L
#define SQL_FN_TD_HOUR 0x00000400L
#define SQL_FN_TD_HOUR
0x00000400L
#define SQL_FN_TD_MINUTE 0x00000800L
#define SQL_FN_TD_MINUTE
0x00000800L
#define SQL_FN_TD_SECOND 0x00001000L
#define SQL_FN_TD_SECOND
0x00001000L
#define SQL_FN_TD_TIMESTAMPADD 0x00002000L
#define SQL_FN_TD_TIMESTAMPADD
0x00002000L
#define SQL_FN_TD_TIMESTAMPDIFF 0x00004000L
#define SQL_FN_TD_TIMESTAMPDIFF
0x00004000L
#define SQL_FN_TD_DAYNAME 0x00008000L
#define SQL_FN_TD_DAYNAME
0x00008000L
#define SQL_FN_TD_MONTHNAME 0x00010000L
#define SQL_FN_TD_MONTHNAME
0x00010000L
/* Added in ODBC 3.0 */
/* Added in ODBC 3.0 */
#define SQL_FN_TD_CURRENT_DATE 0x00020000L
#define SQL_FN_TD_CURRENT_DATE
0x00020000L
#define SQL_FN_TD_CURRENT_TIME 0x00040000L
#define SQL_FN_TD_CURRENT_TIME
0x00040000L
#define SQL_FN_TD_CURRENT_TIMESTAMP
0x00080000L
#define SQL_FN_TD_CURRENT_TIMESTAMP
0x00080000L
#define SQL_FN_TD_EXTRACT 0x00100000L
#define SQL_FN_TD_EXTRACT
0x00100000L
/*
/*
* Transaction Capable. A SQLUSMALLINT value describing the transaction
* Transaction Capable. A SQLUSMALLINT value describing the transaction
* support in the driver or data source.
* support in the driver or data source.
*/
*/
#define SQL_TC_NONE 0x0000
#define SQL_TC_NONE
0x0000
#define SQL_TC_DML 0x0001
#define SQL_TC_DML
0x0001
#define SQL_TC_ALL 0x0002
#define SQL_TC_ALL
0x0002
#define SQL_TC_DDL_COMMIT 0x0003
#define SQL_TC_DDL_COMMIT
0x0003
#define SQL_TC_DDL_IGNORE 0x0004
#define SQL_TC_DDL_IGNORE
0x0004
/*
/*
* Unions. A SQLUINTEGER bitmask enumerating the support for the UNION
* Unions. A SQLUINTEGER bitmask enumerating the support for the UNION
* clause.
* clause.
*/
*/
#define SQL_U_UNION 0x00000001L
#define SQL_U_UNION
0x00000001L
#define SQL_U_UNION_ALL 0x00000002L
#define SQL_U_UNION_ALL
0x00000002L
/* SQLStatistics: Type, Smallint */
/* SQLStatistics: Type, Smallint */
#define SQL_TABLE_STAT 0
#define SQL_TABLE_STAT
0
#define SQL_INDEX_CLUSTERED
1
#define SQL_INDEX_CLUSTERED
1
#define SQL_INDEX_HASHED 2
#define SQL_INDEX_HASHED
2
#define SQL_INDEX_OTHER 3
#define SQL_INDEX_OTHER
3
/* SQLProcedures: Type: Smallint */
/* SQLProcedures: Type: Smallint */
#define SQL_PT_UNKNOWN 0
#define SQL_PT_UNKNOWN
0
#define SQL_PT_PROCEDURE 1
#define SQL_PT_PROCEDURE
1
#define SQL_PT_FUNCTION 2
#define SQL_PT_FUNCTION
2
/* SQLSpecialColumns: PSEUDO_COLUMN: Smallint */
/* SQLSpecialColumns: PSEUDO_COLUMN: Smallint */
#define SQL_PC_UNKNOWN 0
#define SQL_PC_UNKNOWN
0
#define SQL_PC_PSEUDO 1
#define SQL_PC_PSEUDO
1
#define SQL_PC_NOT_PSEUDO 2
#define SQL_PC_NOT_PSEUDO
2
/* SQLSet/Get/StmtOptions: ASYNC_ENABLE. A SQLUINTEGER */
/* SQLSet/Get/StmtOptions: ASYNC_ENABLE. A SQLUINTEGER */
#define SQL_ASYNC_ENABLE_OFF 0UL
#define SQL_ASYNC_ENABLE_OFF
0UL
#define SQL_ASYNC_ENABLE_ON 1UL
#define SQL_ASYNC_ENABLE_ON
1UL
#define SQL_ASYNC_ENABLE_DEFAULT SQL_ASYNC_ENABLE_OFF
#define SQL_ASYNC_ENABLE_DEFAULT
SQL_ASYNC_ENABLE_OFF
/*
/*
* SQLSet/GetStmtOptions: CONCURRENCY. A SQLUINTEGER. Note most of these
* SQLSet/GetStmtOptions: CONCURRENCY. A SQLUINTEGER. Note most of these
* are above in the original isqlext.h code.
* are above in the original isqlext.h code.
*/
*/
#define SQL_CONCUR_DEFAULT SQL_CONCUR_READ_ONLY
#define SQL_CONCUR_DEFAULT
SQL_CONCUR_READ_ONLY
/*
/*
* SQLSet/GetStmtOptions: CURSOR_SCROLLABLE. A SQLUINTEGER. Added in ODBC
* SQLSet/GetStmtOptions: CURSOR_SCROLLABLE. A SQLUINTEGER. Added in ODBC
* 3.0.
* 3.0.
*/
*/
#define SQL_NONSCROLLABLE 0UL
#define SQL_NONSCROLLABLE
0UL
#define SQL_SCROLLABLE 1UL
#define SQL_SCROLLABLE
1UL
#define SQL_CURSOR_SCROLLABLE_DEFAULT SQL_NONSCROLLABLE
#define SQL_CURSOR_SCROLLABLE_DEFAULT SQL_NONSCROLLABLE
/*
/*
* SQLSet/GetStmtOptions: CURSOR_SENSITITY. A SQLUINTEGER. Added in ODBC
* SQLSet/GetStmtOptions: CURSOR_SENSITITY. A SQLUINTEGER. Added in ODBC
* 3.0.
* 3.0.
*/
*/
#define SQL_UNSPECIFIED 0UL
#define SQL_UNSPECIFIED
0UL
#define SQL_INSENSITIVE 1UL
#define SQL_INSENSITIVE
1UL
#define SQL_SENSITIVIE 2UL
#define SQL_SENSITIVIE
2UL
#define SQL_CURSOR_SENSITIVITY_DEFAULT SQL_UNSPECIFIED
#define SQL_CURSOR_SENSITIVITY_DEFAULT SQL_UNSPECIFIED
/*
/*
* SQLSet/GetStmtOptions: CURSOR_TYPE: A SQLUINTEGER value that specifies the
* SQLSet/GetStmtOptions: CURSOR_TYPE: A SQLUINTEGER value that specifies the
* cursor type
* cursor type
*/
*/
#define SQL_CURSOR_FORWARD_ONLY 0UL
#define SQL_CURSOR_FORWARD_ONLY
0UL
#define SQL_CURSOR_KEYSET_DRIVEN 1UL
#define SQL_CURSOR_KEYSET_DRIVEN
1UL
#define SQL_CURSOR_DYNAMIC 2UL
#define SQL_CURSOR_DYNAMIC
2UL
#define SQL_CURSOR_STATIC 3UL
#define SQL_CURSOR_STATIC
3UL
#define SQL_CURSOR_DEFAULT SQL_CURSOR_FORWARD_ONLY
#define SQL_CURSOR_DEFAULT
SQL_CURSOR_FORWARD_ONLY
/*
/*
* ENABLE_AUTO_IPD: A SQLUINTEGER, either SQL_TRUE or SQL_FALSE. Default
* ENABLE_AUTO_IPD: A SQLUINTEGER, either SQL_TRUE or SQL_FALSE. Default
...
@@ -1210,87 +1212,88 @@ typedef struct tagSQL_INTERVAL_STRUCT
...
@@ -1210,87 +1212,88 @@ typedef struct tagSQL_INTERVAL_STRUCT
* SQLSet/GetStmtOptions: NOSCAN. A SQLUINTEGER value that indicates whether
* SQLSet/GetStmtOptions: NOSCAN. A SQLUINTEGER value that indicates whether
* the driver should scan SQL strings for escape sequences.
* the driver should scan SQL strings for escape sequences.
*/
*/
#define SQL_NOSCAN_OFF 0UL
#define SQL_NOSCAN_OFF
0UL
#define SQL_NOSCAN_ON 1UL
#define SQL_NOSCAN_ON
1UL
#define SQL_NOSCAN_DEFAULT SQL_NOSCAN_OFF
#define SQL_NOSCAN_DEFAULT
SQL_NOSCAN_OFF
/*
/*
* SQLSet/GetStmtOptions: PARAM_OPERATION: SQLUSMALLINT *. Added in ODBC 3.0
* SQLSet/GetStmtOptions: PARAM_OPERATION: SQLUSMALLINT *. Added in ODBC 3.0
*
*
*/
*/
#define SQL_PARAM_PROCEED 0
#define SQL_PARAM_PROCEED
0
#define SQL_PARAM_IGNORE 1
#define SQL_PARAM_IGNORE
1
/*
/*
* SQLSet/GetStmtOptions: PARAM_STATUS: SQLUSMALLINT *. Added in ODBC 3.0
* SQLSet/GetStmtOptions: PARAM_STATUS: SQLUSMALLINT *. Added in ODBC 3.0
*
*
*/
*/
#define SQL_PARAM_SUCCESS 0
#define SQL_PARAM_SUCCESS
0
#define SQL_PARAM_SUCCESS_WITH_INFO
6
#define SQL_PARAM_SUCCESS_WITH_INFO
6
#define SQL_PARAM_ERROR 5
#define SQL_PARAM_ERROR
5
#define SQL_PARAM_UNUSED 7
#define SQL_PARAM_UNUSED
7
#define SQL_PARAM_DIAG_UNAVAILABLE 1
#define SQL_PARAM_DIAG_UNAVAILABLE
1
/*
/*
* SQLSet/GetStmtOptions: RETRIEVE_DATA: SQLUINTEGER value.
* SQLSet/GetStmtOptions: RETRIEVE_DATA: SQLUINTEGER value.
*/
*/
#define SQL_RD_OFF 0UL
#define SQL_RD_OFF
0UL
#define SQL_RD_ON 1UL
#define SQL_RD_ON
1UL
#define SQL_RD_DEFAULT SQL_RD_ON
#define SQL_RD_DEFAULT
SQL_RD_ON
/*
/*
* SQLSet/GetStmtOptions: BIND_TYPE: SQLUINTEGER. sets binding orientation.
* SQLSet/GetStmtOptions: BIND_TYPE: SQLUINTEGER. sets binding orientation.
*/
*/
#define SQL_BIND_BY_COLUMN 0UL
#define SQL_BIND_BY_COLUMN
0UL
#define SQL_BIND_TYPE_DEFAULT SQL_BIND_BY_COLUMN
#define SQL_BIND_TYPE_DEFAULT
SQL_BIND_BY_COLUMN
/*
/*
* SQLSet/GetStmtOptions: ROW_OPERATION: SQLUSMALLINT *. Added in ODBC 3.0
* SQLSet/GetStmtOptions: ROW_OPERATION: SQLUSMALLINT *. Added in ODBC 3.0
*/
*/
#define SQL_ROW_PROCEED 0
#define SQL_ROW_PROCEED
0
#define SQL_ROW_IGNORE 1
#define SQL_ROW_IGNORE
1
/*
/*
* SQL_ROWSET_SIZE
* SQL_ROWSET_SIZE
*/
*/
#define SQL_ROWSET_SIZE_DEFAULT 1UL
#define SQL_ROWSET_SIZE_DEFAULT
1UL
/*
/*
* SQL_KEYSET_SIZE
* SQL_KEYSET_SIZE
*/
*/
#define SQL_KEYSET_SIZE_DEFAULT 0UL
#define SQL_KEYSET_SIZE_DEFAULT
0UL
/*
/*
* SQLSet/GetStmtOptions: SIMULATE_CURSOR: SQLUINTEGER value that specifies
* SQLSet/GetStmtOptions: SIMULATE_CURSOR: SQLUINTEGER value that specifies
* whether drivers that simulate positioned update and delete statements
* whether drivers that simulate positioned update and delete statements
* guarantee that such statements affect only a single row.
* guarantee that such statements affect only a single row.
*/
*/
#define SQL_SC_NON_UNIQUE 0UL
#define SQL_SC_NON_UNIQUE
0UL
#define SQL_SC_TRY_UNIQUE 1UL
#define SQL_SC_TRY_UNIQUE
1UL
#define SQL_SC_UNIQUE 2UL
#define SQL_SC_UNIQUE
2UL
/*
/*
* SQLSet/GetStmtOptions: USE_BOOKMARKS: SQLUINTEGER value that specifies
* SQLSet/GetStmtOptions: USE_BOOKMARKS: SQLUINTEGER value that specifies
* whether an application will use bookmarks with a cursor.
* whether an application will use bookmarks with a cursor.
*/
*/
#define SQL_UB_OFF 0UL
#define SQL_UB_OFF 0UL
#define SQL_UB_ON 1UL
#define SQL_UB_ON 1UL
#define SQL_UB_FIXED SQL_UB_ON
/* Deprecated in ODBC 3.0 */
#define SQL_UB_FIXED SQL_UB_ON
/* Deprecated in ODBC
#define SQL_UB_VARIABLE 2UL
/* Added in ODBC 3.0 */
* 3.0 */
#define SQL_UB_DEFAULT SQL_UB_OFF
#define SQL_UB_VARIABLE 2UL
/* Added in ODBC 3.0 */
#define SQL_UB_DEFAULT SQL_UB_OFF
/* Deprecated */
/* Deprecated */
#define SQL_DATABASE_NAME 16
#define SQL_DATABASE_NAME
16
#define SQL_FD_FETCH_PREV SQL_FD_FETCH_PRIOR
#define SQL_FD_FETCH_PREV
SQL_FD_FETCH_PRIOR
#define SQL_FETCH_PREV SQL_FETCH_PRIOR
#define SQL_FETCH_PREV
SQL_FETCH_PRIOR
#define SQL_CONCUR_TIMESTAMP SQL_CONCUR_ROWVER
#define SQL_CONCUR_TIMESTAMP
SQL_CONCUR_ROWVER
#define SQL_SCCO_OPT_TIMESTAMP SQL_SCCO_OPT_ROWVER
#define SQL_SCCO_OPT_TIMESTAMP
SQL_SCCO_OPT_ROWVER
#define SQL_CC_DELETE SQL_CB_DELETE
#define SQL_CC_DELETE
SQL_CB_DELETE
#define SQL_CR_DELETE SQL_CB_DELETE
#define SQL_CR_DELETE
SQL_CB_DELETE
#define SQL_CC_CLOSE SQL_CB_CLOSE
#define SQL_CC_CLOSE
SQL_CB_CLOSE
#define SQL_CR_CLOSE SQL_CB_CLOSE
#define SQL_CR_CLOSE
SQL_CB_CLOSE
#define SQL_CC_PRESERVE SQL_CB_PRESERVE
#define SQL_CC_PRESERVE
SQL_CB_PRESERVE
#define SQL_CR_PRESERVE SQL_CB_PRESERVE
#define SQL_CR_PRESERVE
SQL_CB_PRESERVE
#define SQL_FETCH_RESUME 7
#define SQL_FETCH_RESUME 7
#define SQL_SCROLL_FORWARD_ONLY 0L
#define SQL_SCROLL_FORWARD_ONLY 0L
#define SQL_SCROLL_KEYSET_DRIVEN (-1L)
#define SQL_SCROLL_KEYSET_DRIVEN (-1L)
...
...
src/interfaces/odbc/lobj.c
View file @
12ceb111
/* Module: lobj.c
/* Module: lobj.c
*
*
* Description: This module contains routines related to manipulating
* Description: This module contains routines related to manipulating
...
...
src/interfaces/odbc/lobj.h
View file @
12ceb111
/* File: lobj.h
/* File: lobj.h
*
*
* Description: See "lobj.c"
* Description: See "lobj.c"
...
@@ -24,17 +23,17 @@ struct lo_arg
...
@@ -24,17 +23,17 @@ struct lo_arg
}
u
;
}
u
;
};
};
#define LO_CREAT 957
#define LO_CREAT
957
#define LO_OPEN 952
#define LO_OPEN
952
#define LO_CLOSE 953
#define LO_CLOSE
953
#define LO_READ 954
#define LO_READ
954
#define LO_WRITE 955
#define LO_WRITE
955
#define LO_LSEEK 956
#define LO_LSEEK
956
#define LO_TELL 958
#define LO_TELL
958
#define LO_UNLINK 964
#define LO_UNLINK
964
#define INV_WRITE 0x00020000
#define INV_WRITE
0x00020000
#define INV_READ 0x00040000
#define INV_READ
0x00040000
Oid
lo_creat
(
ConnectionClass
*
conn
,
int
mode
);
Oid
lo_creat
(
ConnectionClass
*
conn
,
int
mode
);
int
lo_open
(
ConnectionClass
*
conn
,
int
lobjId
,
int
mode
);
int
lo_open
(
ConnectionClass
*
conn
,
int
lobjId
,
int
mode
);
...
...
src/interfaces/odbc/misc.c
View file @
12ceb111
/* Module: misc.c
/* Module: misc.c
*
*
* Description: This module contains miscellaneous routines
* Description: This module contains miscellaneous routines
...
...
src/interfaces/odbc/misc.h
View file @
12ceb111
/* File: misc.h
/* File: misc.h
*
*
* Description: See "misc.c"
* Description: See "misc.c"
...
@@ -39,11 +38,11 @@
...
@@ -39,11 +38,11 @@
#ifdef MY_LOG
#ifdef MY_LOG
#define MYLOGFILE
"mylog_"
#define MYLOGFILE
"mylog_"
#ifndef WIN32
#ifndef WIN32
#define MYLOGDIR "/tmp"
#define MYLOGDIR
"/tmp"
#else
#else
#define MYLOGDIR "c:"
#define MYLOGDIR
"c:"
#endif
#endif
extern
void
mylog
(
char
*
fmt
,...);
extern
void
mylog
(
char
*
fmt
,...);
...
@@ -56,11 +55,11 @@ extern void mylog(char *fmt,...);
...
@@ -56,11 +55,11 @@ extern void mylog(char *fmt,...);
#endif
#endif
#ifdef Q_LOG
#ifdef Q_LOG
#define QLOGFILE
"psqlodbc_"
#define QLOGFILE
"psqlodbc_"
#ifndef WIN32
#ifndef WIN32
#define QLOGDIR "/tmp"
#define QLOGDIR
"/tmp"
#else
#else
#define QLOGDIR "c:"
#define QLOGDIR
"c:"
#endif
#endif
extern
void
qlog
(
char
*
fmt
,...);
extern
void
qlog
(
char
*
fmt
,...);
...
@@ -73,19 +72,19 @@ extern void qlog(char *fmt,...);
...
@@ -73,19 +72,19 @@ extern void qlog(char *fmt,...);
#endif
#endif
#ifndef WIN32
#ifndef WIN32
#define DIRSEPARATOR "/"
#define DIRSEPARATOR
"/"
#else
#else
#define DIRSEPARATOR "\\"
#define DIRSEPARATOR
"\\"
#endif
#endif
#ifdef WIN32
#ifdef WIN32
#define PG_BINARY O_BINARY
#define PG_BINARY
O_BINARY
#define PG_BINARY_R
"rb"
#define PG_BINARY_R
"rb"
#define PG_BINARY_W
"wb"
#define PG_BINARY_W
"wb"
#else
#else
#define PG_BINARY 0
#define PG_BINARY
0
#define PG_BINARY_R
"r"
#define PG_BINARY_R
"r"
#define PG_BINARY_W
"w"
#define PG_BINARY_W
"w"
#endif
#endif
...
@@ -98,8 +97,8 @@ char *my_strcat(char *buf, char *fmt, char *s, int len);
...
@@ -98,8 +97,8 @@ char *my_strcat(char *buf, char *fmt, char *s, int len);
/* defines for return value of my_strcpy */
/* defines for return value of my_strcpy */
#define STRCPY_SUCCESS 1
#define STRCPY_SUCCESS 1
#define STRCPY_FAIL 0
#define STRCPY_FAIL 0
#define STRCPY_TRUNCATED
-1
#define STRCPY_TRUNCATED
(-1)
#define STRCPY_NULL
-2
#define STRCPY_NULL
(-2)
int
my_strcpy
(
char
*
dst
,
int
dst_len
,
char
*
src
,
int
src_len
);
int
my_strcpy
(
char
*
dst
,
int
dst_len
,
char
*
src
,
int
src_len
);
...
...
src/interfaces/odbc/multibyte.c
View file @
12ceb111
...
@@ -6,6 +6,7 @@
...
@@ -6,6 +6,7 @@
* Create 2001-03-03 Eiji Tokuya
* Create 2001-03-03 Eiji Tokuya
*
*
*/
*/
#include <string.h>
#include <string.h>
#include "multibyte.h"
#include "multibyte.h"
...
...
src/interfaces/odbc/multibyte.h
View file @
12ceb111
...
@@ -2,32 +2,31 @@
...
@@ -2,32 +2,31 @@
*
*
* Multibyte library header ( psqlODBC Only )
* Multibyte library header ( psqlODBC Only )
*
*
*
*/
*/
/* PostgreSQL client encoding */
/* PostgreSQL client encoding */
#define SQL_ASCII
0
/* SQL/ASCII */
#define SQL_ASCII
0
/* SQL/ASCII */
#define EUC_JP
1
/* EUC for Japanese */
#define EUC_JP
1
/* EUC for Japanese */
#define EUC_CN
2
/* EUC for Chinese */
#define EUC_CN
2
/* EUC for Chinese */
#define EUC_KR
3
/* EUC for Korean */
#define EUC_KR
3
/* EUC for Korean */
#define EUC_TW
4
/* EUC for Taiwan */
#define EUC_TW
4
/* EUC for Taiwan */
#define UNICODE
5
/* Unicode UTF-8 */
#define UNICODE
5
/* Unicode UTF-8 */
#define MULE_INTERNAL
6
/* Mule internal code */
#define MULE_INTERNAL
6
/* Mule internal code */
#define LATIN1
7
/* ISO-8859 Latin 1 */
#define LATIN1
7
/* ISO-8859 Latin 1 */
#define LATIN2
8
/* ISO-8859 Latin 2 */
#define LATIN2
8
/* ISO-8859 Latin 2 */
#define LATIN3
9
/* ISO-8859 Latin 3 */
#define LATIN3
9
/* ISO-8859 Latin 3 */
#define LATIN4
10
/* ISO-8859 Latin 4 */
#define LATIN4
10
/* ISO-8859 Latin 4 */
#define LATIN5
11
/* ISO-8859 Latin 5 */
#define LATIN5
11
/* ISO-8859 Latin 5 */
#define LATIN6
12
/* ISO-8859 Latin 6 */
#define LATIN6
12
/* ISO-8859 Latin 6 */
#define LATIN7
13
/* ISO-8859 Latin 7 */
#define LATIN7
13
/* ISO-8859 Latin 7 */
#define LATIN8
14
/* ISO-8859 Latin 8 */
#define LATIN8
14
/* ISO-8859 Latin 8 */
#define LATIN9
15
/* ISO-8859 Latin 9 */
#define LATIN9
15
/* ISO-8859 Latin 9 */
#define KOI8
16
/* KOI8-R */
#define KOI8
16
/* KOI8-R */
#define WIN
17
/* windows-1251 */
#define WIN
17
/* windows-1251 */
#define ALT
18
/* Alternativny Variant (MS-DOS CP866) */
#define ALT
18
/* Alternativny Variant (MS-DOS CP866) */
#define SJIS
32
/* Shift JIS */
#define SJIS
32
/* Shift JIS */
#define BIG5
33
/* Big5 */
#define BIG5
33
/* Big5 */
#define WIN1250
34
/* windows-1250 */
#define WIN1250
34
/* windows-1250 */
extern
int
multibyte_client_encoding
;
/* Multibyte client encoding. */
extern
int
multibyte_client_encoding
;
/* Multibyte client encoding. */
...
...
src/interfaces/odbc/options.c
View file @
12ceb111
/* Module: options.c
/* Module: options.c
*
*
* Description: This module contains routines for getting/setting
* Description: This module contains routines for getting/setting
...
...
src/interfaces/odbc/parse.c
View file @
12ceb111
/* Module: parse.c
/* Module: parse.c
*
*
* Description: This module contains routines related to parsing SQL statements.
* Description: This module contains routines related to parsing SQL statements.
...
...
src/interfaces/odbc/pgtypes.c
View file @
12ceb111
/* Module: pgtypes.c
/* Module: pgtypes.c
*
*
* Description: This module contains routines for getting information
* Description: This module contains routines for getting information
...
...
src/interfaces/odbc/pgtypes.h
View file @
12ceb111
/* File: pgtypes.h
/* File: pgtypes.h
*
*
* Description: See "pgtypes.c"
* Description: See "pgtypes.c"
...
@@ -17,57 +16,57 @@
...
@@ -17,57 +16,57 @@
#if 0
#if 0
#define PG_TYPE_LO
????
/* waiting for permanent type */
#define PG_TYPE_LO
????
/* waiting for permanent type */
#endif
#endif
#define PG_TYPE_BOOL
16
#define PG_TYPE_BOOL
16
#define PG_TYPE_BYTEA
17
#define PG_TYPE_BYTEA
17
#define PG_TYPE_CHAR
18
#define PG_TYPE_CHAR
18
#define PG_TYPE_NAME
19
#define PG_TYPE_NAME
19
#define PG_TYPE_INT8
20
#define PG_TYPE_INT8
20
#define PG_TYPE_INT2
21
#define PG_TYPE_INT2
21
#define PG_TYPE_INT2VECTOR
22
#define PG_TYPE_INT2VECTOR
22
#define PG_TYPE_INT4
23
#define PG_TYPE_INT4
23
#define PG_TYPE_REGPROC
24
#define PG_TYPE_REGPROC
24
#define PG_TYPE_TEXT
25
#define PG_TYPE_TEXT
25
#define PG_TYPE_OID
26
#define PG_TYPE_OID
26
#define PG_TYPE_TID
27
#define PG_TYPE_TID
27
#define PG_TYPE_XID
28
#define PG_TYPE_XID
28
#define PG_TYPE_CID
29
#define PG_TYPE_CID
29
#define PG_TYPE_OIDVECTOR
30
#define PG_TYPE_OIDVECTOR
30
#define PG_TYPE_SET
32
#define PG_TYPE_SET
32
#define PG_TYPE_CHAR2 409
#define PG_TYPE_CHAR2
409
#define PG_TYPE_CHAR4 410
#define PG_TYPE_CHAR4
410
#define PG_TYPE_CHAR8 411
#define PG_TYPE_CHAR8
411
#define PG_TYPE_POINT 600
#define PG_TYPE_POINT
600
#define PG_TYPE_LSEG 601
#define PG_TYPE_LSEG
601
#define PG_TYPE_PATH 602
#define PG_TYPE_PATH
602
#define PG_TYPE_BOX 603
#define PG_TYPE_BOX
603
#define PG_TYPE_POLYGON 604
#define PG_TYPE_POLYGON
604
#define PG_TYPE_FILENAME 605
#define PG_TYPE_FILENAME
605
#define PG_TYPE_FLOAT4 700
#define PG_TYPE_FLOAT4
700
#define PG_TYPE_FLOAT8 701
#define PG_TYPE_FLOAT8
701
#define PG_TYPE_ABSTIME 702
#define PG_TYPE_ABSTIME
702
#define PG_TYPE_RELTIME 703
#define PG_TYPE_RELTIME
703
#define PG_TYPE_TINTERVAL 704
#define PG_TYPE_TINTERVAL
704
#define PG_TYPE_UNKNOWN 705
#define PG_TYPE_UNKNOWN
705
#define PG_TYPE_MONEY 790
#define PG_TYPE_MONEY
790
#define PG_TYPE_OIDINT2 810
#define PG_TYPE_OIDINT2
810
#define PG_TYPE_OIDINT4 910
#define PG_TYPE_OIDINT4
910
#define PG_TYPE_OIDNAME 911
#define PG_TYPE_OIDNAME
911
#define PG_TYPE_BPCHAR
1042
#define PG_TYPE_BPCHAR
1042
#define PG_TYPE_VARCHAR
1043
#define PG_TYPE_VARCHAR
1043
#define PG_TYPE_DATE
1082
#define PG_TYPE_DATE
1082
#define PG_TYPE_TIME
1083
#define PG_TYPE_TIME
1083
#define PG_TYPE_DATETIME
1184
#define PG_TYPE_DATETIME
1184
#define PG_TYPE_TIMESTAMP
1296
#define PG_TYPE_TIMESTAMP
1296
#define PG_TYPE_NUMERIC
1700
#define PG_TYPE_NUMERIC
1700
/* extern Int4 pgtypes_defined[]; */
/* extern Int4 pgtypes_defined[]; */
extern
Int2
sqlTypes
[];
extern
Int2
sqlTypes
[];
/* Defines for pgtype_precision */
/* Defines for pgtype_precision */
#define PG_STATIC
-1
#define PG_STATIC
(-1)
Int4
sqltype_to_pgtype
(
Int2
fSqlType
);
Int4
sqltype_to_pgtype
(
Int2
fSqlType
);
...
...
src/interfaces/odbc/psqlodbc.c
View file @
12ceb111
/* Module: psqlodbc.c
/* Module: psqlodbc.c
*
*
* Description: This module contains the main entry point (DllMain) for the library.
* Description: This module contains the main entry point (DllMain) for the library.
...
...
src/interfaces/odbc/psqlodbc.h
View file @
12ceb111
/* File: psqlodbc.h
/* File: psqlodbc.h
*
*
* Description: This file contains defines and declarations that are related to
* Description: This file contains defines and declarations that are related to
...
@@ -6,7 +5,8 @@
...
@@ -6,7 +5,8 @@
*
*
* Comments: See "notice.txt" for copyright and license information.
* Comments: See "notice.txt" for copyright and license information.
*
*
* $Id: psqlodbc.h,v 1.40 2001/03/22 04:01:35 momjian Exp $
* $Id: psqlodbc.h,v 1.41 2001/03/27 04:00:54 momjian Exp $
*
*/
*/
#ifndef __PSQLODBC_H__
#ifndef __PSQLODBC_H__
...
@@ -36,18 +36,18 @@ typedef double SDOUBLE;
...
@@ -36,18 +36,18 @@ typedef double SDOUBLE;
typedef
UInt4
Oid
;
typedef
UInt4
Oid
;
/* Driver stuff */
/* Driver stuff */
#define ODBCVER 0x0250
#define ODBCVER
0x0250
#define DRIVER_ODBC_VER "02.50"
#define DRIVER_ODBC_VER
"02.50"
#define DRIVERNAME
"PostgreSQL ODBC"
#define DRIVERNAME
"PostgreSQL ODBC"
#define DBMS_NAME
"PostgreSQL"
#define DBMS_NAME
"PostgreSQL"
#define POSTGRESDRIVERVERSION
"07.01.0004"
#define POSTGRESDRIVERVERSION
"07.01.0004"
#ifdef WIN32
#ifdef WIN32
#define DRIVER_FILE_NAME "PSQLODBC.DLL"
#define DRIVER_FILE_NAME
"PSQLODBC.DLL"
#else
#else
#define DRIVER_FILE_NAME "libpsqlodbc.so"
#define DRIVER_FILE_NAME
"libpsqlodbc.so"
#endif
#endif
/* Limits */
/* Limits */
...
@@ -83,27 +83,28 @@ typedef UInt4 Oid;
...
@@ -83,27 +83,28 @@ typedef UInt4 Oid;
/* These prefixes denote system tables */
/* These prefixes denote system tables */
#define POSTGRES_SYS_PREFIX
"pg_"
#define POSTGRES_SYS_PREFIX
"pg_"
#define KEYS_TABLE "dd_fkey"
#define KEYS_TABLE
"dd_fkey"
/* Info limits */
/* Info limits */
#define MAX_INFO_STRING 128
#define MAX_INFO_STRING 128
#define MAX_KEYPARTS 20
#define MAX_KEYPARTS 20
#define MAX_KEYLEN 512
/* max key of the form
#define MAX_KEYLEN 512
/* max key of the form
* "date+outlet+invoice" */
* "date+outlet+invoice" */
#define MAX_ROW_SIZE 0
/* Unlimited rowsize with the Tuple
#define MAX_ROW_SIZE 0
/* Unlimited rowsize with the
* Toaster */
* Tuple Toaster */
#define MAX_STATEMENT_LEN 0
/* Unlimited statement size with 7.0 */
#define MAX_STATEMENT_LEN 0
/* Unlimited statement size with
* 7.0 */
/* Previously, numerous query strings were defined of length MAX_STATEMENT_LEN */
/* Previously, numerous query strings were defined of length MAX_STATEMENT_LEN */
/* Now that's 0, lets use this instead. DJP 24-1-2001 */
/* Now that's 0, lets use this instead. DJP 24-1-2001 */
#define STD_STATEMENT_LEN MAX_MESSAGE_LEN
#define STD_STATEMENT_LEN
MAX_MESSAGE_LEN
#define PG62
"6.2"
/* "Protocol" key setting to force
#define PG62
"6.2"
/* "Protocol" key setting
*
Postgres 6.2 */
* to force
Postgres 6.2 */
#define PG63
"6.3"
/* "Protocol" key setting to force
#define PG63
"6.3"
/* "Protocol" key setting
*
postgres 6.3 */
* to force
postgres 6.3 */
#define PG64 "6.4"
#define PG64
"6.4"
typedef
struct
ConnectionClass_
ConnectionClass
;
typedef
struct
ConnectionClass_
ConnectionClass
;
typedef
struct
StatementClass_
StatementClass
;
typedef
struct
StatementClass_
StatementClass
;
...
@@ -173,17 +174,18 @@ typedef struct QueryInfo_
...
@@ -173,17 +174,18 @@ typedef struct QueryInfo_
}
QueryInfo
;
}
QueryInfo
;
#define PG_TYPE_LO
-999
/* hack until permanent type
#define PG_TYPE_LO
(-999)
/* hack until permanent
*
available */
* type
available */
#define PG_TYPE_LO_NAME "lo"
#define PG_TYPE_LO_NAME
"lo"
#define OID_ATTNUM
-2
/* the attnum in pg_index of the
#define OID_ATTNUM
(-2)
/* the attnum in pg_index
*
oid */
* of the
oid */
/* sizes */
/* sizes */
#define TEXT_FIELD_SIZE 8190
/* size of text fields (not
#define TEXT_FIELD_SIZE 8190
/* size of text fields
* including null term) */
* (not including null
#define NAME_FIELD_SIZE 32
/* size of name fields */
* term) */
#define MAX_VARCHAR_SIZE 254
/* maximum size of a varchar (not
#define NAME_FIELD_SIZE 32
/* size of name fields */
#define MAX_VARCHAR_SIZE 254
/* maximum size of a varchar (not
* including null term) */
* including null term) */
#define PG_NUMERIC_MAX_PRECISION 1000
#define PG_NUMERIC_MAX_PRECISION 1000
...
...
src/interfaces/odbc/qresult.c
View file @
12ceb111
/* Module: qresult.c
/* Module: qresult.c
*
*
* Description: This module contains functions related to
* Description: This module contains functions related to
...
...
src/interfaces/odbc/qresult.h
View file @
12ceb111
/* File: qresult.h
/* File: qresult.h
*
*
* Description: See "qresult.c"
* Description: See "qresult.c"
...
@@ -72,7 +71,7 @@ struct QResultClass_
...
@@ -72,7 +71,7 @@ struct QResultClass_
char
aborted
;
/* was aborted? */
char
aborted
;
/* was aborted? */
};
};
#define QR_get_fields(self) (self->fields)
#define QR_get_fields(self)
(self->fields)
/* These functions are for retrieving data from the qresult */
/* These functions are for retrieving data from the qresult */
...
@@ -94,20 +93,20 @@ struct QResultClass_
...
@@ -94,20 +93,20 @@ struct QResultClass_
#define QR_set_field_info(self, field_num, name, adtid, adtsize) (CI_set_field_info(self->fields, field_num, name, adtid, adtsize, -1))
#define QR_set_field_info(self, field_num, name, adtid, adtsize) (CI_set_field_info(self->fields, field_num, name, adtid, adtsize, -1))
/* status macros */
/* status macros */
#define QR_command_successful(self) ( !(self->status == PGRES_BAD_RESPONSE || self->status == PGRES_NONFATAL_ERROR || self->status == PGRES_FATAL_ERROR))
#define QR_command_successful(self)
( !(self->status == PGRES_BAD_RESPONSE || self->status == PGRES_NONFATAL_ERROR || self->status == PGRES_FATAL_ERROR))
#define QR_command_nonfatal(self) ( self->status == PGRES_NONFATAL_ERROR)
#define QR_command_nonfatal(self)
( self->status == PGRES_NONFATAL_ERROR)
#define QR_end_tuples(self) ( self->status == PGRES_END_TUPLES)
#define QR_end_tuples(self)
( self->status == PGRES_END_TUPLES)
#define QR_set_status(self, condition) ( self->status = condition )
#define QR_set_status(self, condition)
( self->status = condition )
#define QR_set_message(self, message_) ( self->message = message_)
#define QR_set_message(self, message_)
( self->message = message_)
#define QR_set_aborted(self, aborted_) ( self->aborted = aborted_)
#define QR_set_aborted(self, aborted_)
( self->aborted = aborted_)
#define QR_get_message(self) (self->message)
#define QR_get_message(self)
(self->message)
#define QR_get_command(self) (self->command)
#define QR_get_command(self)
(self->command)
#define QR_get_notice(self) (self->notice)
#define QR_get_notice(self)
(self->notice)
#define QR_get_status(self) (self->status)
#define QR_get_status(self)
(self->status)
#define QR_get_aborted(self) (self->aborted)
#define QR_get_aborted(self) (self->aborted)
#define QR_aborted(self) (!self || self->aborted)
#define QR_aborted(self)
(!self || self->aborted)
/* Core Functions */
/* Core Functions */
QResultClass
*
QR_Constructor
(
void
);
QResultClass
*
QR_Constructor
(
void
);
...
...
src/interfaces/odbc/results.c
View file @
12ceb111
/* Module: results.c
/* Module: results.c
*
*
* Description: This module contains functions related to
* Description: This module contains functions related to
...
...
src/interfaces/odbc/setup.c
View file @
12ceb111
/* Module: setup.c
/* Module: setup.c
*
*
* Description: This module contains the setup functions for
* Description: This module contains the setup functions for
...
@@ -11,7 +10,7 @@
...
@@ -11,7 +10,7 @@
*
*
* Comments: See "notice.txt" for copyright and license information.
* Comments: See "notice.txt" for copyright and license information.
*
*
*
************************************************************************************
/
*/
#include "psqlodbc.h"
#include "psqlodbc.h"
#include "connection.h"
#include "connection.h"
...
...
src/interfaces/odbc/socket.c
View file @
12ceb111
/* Module: socket.c
/* Module: socket.c
*
*
* Description: This module contains functions for low level socket
* Description: This module contains functions for low level socket
...
...
src/interfaces/odbc/socket.h
View file @
12ceb111
/* File: socket.h
/* File: socket.h
*
*
* Description: See "socket.c"
* Description: See "socket.c"
...
@@ -41,16 +40,16 @@ typedef unsigned int in_addr_t;
...
@@ -41,16 +40,16 @@ typedef unsigned int in_addr_t;
#include "psqlodbc.h"
#include "psqlodbc.h"
#define SOCKET_ALREADY_CONNECTED
1
#define SOCKET_ALREADY_CONNECTED
1
#define SOCKET_HOST_NOT_FOUND
2
#define SOCKET_HOST_NOT_FOUND
2
#define SOCKET_COULD_NOT_CREATE_SOCKET
3
#define SOCKET_COULD_NOT_CREATE_SOCKET
3
#define SOCKET_COULD_NOT_CONNECT
4
#define SOCKET_COULD_NOT_CONNECT
4
#define SOCKET_READ_ERROR
5
#define SOCKET_READ_ERROR
5
#define SOCKET_WRITE_ERROR
6
#define SOCKET_WRITE_ERROR
6
#define SOCKET_NULLPOINTER_PARAMETER
7
#define SOCKET_NULLPOINTER_PARAMETER
7
#define SOCKET_PUT_INT_WRONG_LENGTH
8
#define SOCKET_PUT_INT_WRONG_LENGTH
8
#define SOCKET_GET_INT_WRONG_LENGTH
9
#define SOCKET_GET_INT_WRONG_LENGTH
9
#define SOCKET_CLOSED
10
#define SOCKET_CLOSED
10
struct
SocketClass_
struct
SocketClass_
...
...
src/interfaces/odbc/statement.c
View file @
12ceb111
/* Module: statement.c
/* Module: statement.c
*
*
* Description: This module contains functions related to creating
* Description: This module contains functions related to creating
...
...
src/interfaces/odbc/statement.h
View file @
12ceb111
/* File: statement.h
/* File: statement.h
*
*
* Description: See "statement.c"
* Description: See "statement.c"
...
@@ -50,38 +49,40 @@ typedef enum
...
@@ -50,38 +49,40 @@ typedef enum
STMT_EXECUTING
/* statement execution is still going on */
STMT_EXECUTING
/* statement execution is still going on */
}
STMT_Status
;
}
STMT_Status
;
#define STMT_TRUNCATED -2
#define STMT_TRUNCATED (-2)
#define STMT_INFO_ONLY -1
/* not an error message, just a
#define STMT_INFO_ONLY (-1)
/* not an error message,
* notification to be returned by SQLError */
* just a notification
#define STMT_OK 0
/* will be interpreted as "no error
* to be returned by
* pending" */
* SQLError */
#define STMT_EXEC_ERROR 1
#define STMT_OK 0
/* will be interpreted
#define STMT_STATUS_ERROR 2
* as "no error pending" */
#define STMT_SEQUENCE_ERROR 3
#define STMT_EXEC_ERROR 1
#define STMT_NO_MEMORY_ERROR 4
#define STMT_STATUS_ERROR 2
#define STMT_COLNUM_ERROR 5
#define STMT_SEQUENCE_ERROR 3
#define STMT_NO_STMTSTRING 6
#define STMT_NO_MEMORY_ERROR 4
#define STMT_ERROR_TAKEN_FROM_BACKEND 7
#define STMT_COLNUM_ERROR 5
#define STMT_INTERNAL_ERROR 8
#define STMT_NO_STMTSTRING 6
#define STMT_STILL_EXECUTING 9
#define STMT_ERROR_TAKEN_FROM_BACKEND 7
#define STMT_NOT_IMPLEMENTED_ERROR 10
#define STMT_INTERNAL_ERROR 8
#define STMT_BAD_PARAMETER_NUMBER_ERROR 11
#define STMT_STILL_EXECUTING 9
#define STMT_OPTION_OUT_OF_RANGE_ERROR 12
#define STMT_NOT_IMPLEMENTED_ERROR 10
#define STMT_INVALID_COLUMN_NUMBER_ERROR 13
#define STMT_BAD_PARAMETER_NUMBER_ERROR 11
#define STMT_RESTRICTED_DATA_TYPE_ERROR 14
#define STMT_OPTION_OUT_OF_RANGE_ERROR 12
#define STMT_INVALID_CURSOR_STATE_ERROR 15
#define STMT_INVALID_COLUMN_NUMBER_ERROR 13
#define STMT_OPTION_VALUE_CHANGED 16
#define STMT_RESTRICTED_DATA_TYPE_ERROR 14
#define STMT_CREATE_TABLE_ERROR 17
#define STMT_INVALID_CURSOR_STATE_ERROR 15
#define STMT_NO_CURSOR_NAME 18
#define STMT_OPTION_VALUE_CHANGED 16
#define STMT_INVALID_CURSOR_NAME 19
#define STMT_CREATE_TABLE_ERROR 17
#define STMT_INVALID_ARGUMENT_NO 20
#define STMT_NO_CURSOR_NAME 18
#define STMT_ROW_OUT_OF_RANGE 21
#define STMT_INVALID_CURSOR_NAME 19
#define STMT_OPERATION_CANCELLED 22
#define STMT_INVALID_ARGUMENT_NO 20
#define STMT_INVALID_CURSOR_POSITION 23
#define STMT_ROW_OUT_OF_RANGE 21
#define STMT_VALUE_OUT_OF_RANGE 24
#define STMT_OPERATION_CANCELLED 22
#define STMT_OPERATION_INVALID 25
#define STMT_INVALID_CURSOR_POSITION 23
#define STMT_PROGRAM_TYPE_OUT_OF_RANGE 26
#define STMT_VALUE_OUT_OF_RANGE 24
#define STMT_BAD_ERROR 27
#define STMT_OPERATION_INVALID 25
#define STMT_PROGRAM_TYPE_OUT_OF_RANGE 26
#define STMT_BAD_ERROR 27
/* statement types */
/* statement types */
enum
enum
...
...
src/interfaces/odbc/tuple.c
View file @
12ceb111
/* Module: tuple.c
/* Module: tuple.c
*
*
* Description: This module contains functions for setting the data for individual
* Description: This module contains functions for setting the data for individual
...
...
src/interfaces/odbc/tuple.h
View file @
12ceb111
/* File: tuple.h
/* File: tuple.h
*
*
* Description: See "tuple.c"
* Description: See "tuple.c"
...
...
src/interfaces/odbc/tuplelist.c
View file @
12ceb111
/* Module: tuplelist.c
/* Module: tuplelist.c
*
*
* Description: This module contains functions for creating a manual result set
* Description: This module contains functions for creating a manual result set
...
...
src/interfaces/odbc/tuplelist.h
View file @
12ceb111
/* File: tuplelist.h
/* File: tuplelist.h
*
*
* Description: See "tuplelist.c"
* Description: See "tuplelist.c"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment