From 30b4abf5d02c0ecc4a226aab00d7ba961e25263b Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter_e@gmx.net>
Date: Tue, 2 Sep 2003 21:45:37 +0000
Subject: [PATCH] Remove outdated CLI things.

---
 src/interfaces/cli/example1.c | 173 --------
 src/interfaces/cli/example2.c | 270 -------------
 src/interfaces/cli/sqlcli.h   | 719 ----------------------------------
 3 files changed, 1162 deletions(-)
 delete mode 100644 src/interfaces/cli/example1.c
 delete mode 100644 src/interfaces/cli/example2.c
 delete mode 100644 src/interfaces/cli/sqlcli.h

diff --git a/src/interfaces/cli/example1.c b/src/interfaces/cli/example1.c
deleted file mode 100644
index 75cedda3dd9..00000000000
--- a/src/interfaces/cli/example1.c
+++ /dev/null
@@ -1,173 +0,0 @@
-/* -*- C -*- */
-/* The first example illustrates creating a table, adding some data
- * to it, and selecting the inserted data. The second example shows
- * interactive ad hoc query processing.
- *
- * Actual applications include more complete error checking following
- * calls to SQL/CLI routines. That material is omitted from this
- * Appendix for the sake of clarity.
- *
- * This file is adapted for PostgreSQL
- * from the CLI Annex in the SQL98 August 1994 draft standard.
- * Thomas G. Lockhart 1999-06-16
- */
-
-/*
- * B.1	Create table, insert, select
- *
- * This example function creates a table, inserts data into the table,
- * and selects the inserted data.
- *
- * This example illustrates the execution of SQL statement text
- * both using the Prepare() and Execute()  method and using the
- * ExecDirect() method. The example also illustrates both the case
- * where the application uses the automatically-generated descriptors
- * and the case where the application allocates a descriptor of its
- * own and associates this descriptor with the SQL statement.
- *
- * Code comments include the equivalent statements in embedded SQL
- * to show how embedded SQL operations correspond to SQL/CLI function
- * calls.
- */
-
-#include "sqlcli.h"
-#include <string.h>
-
-#ifndef NULL
-#define NULL   0
-#endif
-
-int			print_err(SQLSMALLINT handletype, SQLINTEGER handle);
-
-int
-example1(SQLCHAR * server, SQLCHAR * uid, SQLCHAR * authen)
-{
-	SQLHENV		henv;
-	SQLHDBC		hdbc;
-	SQLHDESC	hdesc;
-	SQLHDESC	hdesc1;
-	SQLHDESC	hdesc2;
-	SQLHSTMT	hstmt;
-	SQLINTEGER	id;
-	SQLSMALLINT idind;
-	SQLCHAR		name[51];
-	SQLINTEGER	namelen;
-	SQLSMALLINT nameind;
-
-	/* EXEC SQL CONNECT TO :server USER :uid; */
-
-	/* allocate an environment handle */
-	SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
-	/* allocate a connection handle */
-	SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
-
-	/* connect to database */
-	if (SQLConnect(hdbc, server, SQL_NTS, uid, SQL_NTS,
-				   authen, SQL_NTS)
-		!= SQL_SUCCESS)
-		return (print_err(SQL_HANDLE_DBC, hdbc));
-
-	/* allocate a statement handle */
-	SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
-
-	/* EXEC SQL CREATE TABLE NAMEID (ID integer, NAME varchar(50));  */
-	{
-		SQLCHAR		create[] = "CREATE TABLE NAMEID (ID integer,"
-		" NAME varchar(50))";
-
-		/* execute the CREATE TABLE statement */
-		if (SQLExecDirect(hstmt, create, SQL_NTS) != SQL_SUCCESS)
-			return (print_err(SQL_HANDLE_STMT, hstmt));
-	}
-
-	/* EXEC SQL COMMIT WORK; */
-	/* commit CREATE TABLE */
-	SQLEndTran(SQL_HANDLE_ENV, henv, SQL_COMMIT);
-	/* EXEC SQL INSERT INTO NAMEID VALUES ( :id, :name ); */
-	{
-		SQLCHAR		insert[] = "INSERT INTO NAMEID VALUES (?, ?)";
-
-		/* show the use of SQLPrepare/SQLExecute method */
-		/* prepare the INSERT */
-		if (SQLPrepare(hstmt, insert, SQL_NTS) != SQL_SUCCESS)
-			return (print_err(SQL_HANDLE_STMT, hstmt));
-		/* application parameter descriptor */
-		SQLGetStmtAttr(hstmt, SQL_ATTR_APP_PARAM_
-					   DESC, &hdesc1, 0L,
-					   (SQLINTEGER *) NULL);
-		SQLSetDescRec(hdesc1, 1, SQL_INTEGER, 0, 0L, 0, 0,
-		   (SQLPOINTER) & id, (SQLINTEGER *) NULL, (SQLSMALLINT *) NULL);
-		SQLSetDescRec(hdesc1, 2, SQL_CHAR, 0, 0L, 0, 0,
-					  (SQLPOINTER) name, (SQLINTEGER *) NULL,
-					  (SQLSMALLINT *) NULL);
-		/* implementation parameter descriptor */
-		SQLGetStmtAttr(hstmt, SQL_ATTR_IMP_PARAM_
-					   DESC, &hdesc2, 0L,
-					   (SQLINTEGER *) NULL);
-		SQLSetDescRec(hdesc2, 1, SQL_INTEGER, 0, 0L, 0, 0,
-					  (SQLPOINTER) NULL, (SQLINTEGER *) NULL,
-					  (SQLSMALLINT *) NULL);
-		SQLSetDescRec(hdesc2, 2, SQL_VARCHAR, 0, 50L, 0, 0,
-					  (SQLPOINTER) NULL, (SQLINTEGER *) NULL,
-					  (SQLSMALLINT *) NULL);
-
-		/* assign parameter values and execute the INSERT */
-		id = 500;
-		(void) strcpy(name, "Babbage");
-		if (SQLExecute(hstmt) != SQL_SUCCESS)
-			return (print_err(SQL_HANDLE_STMT, hstmt));
-	}
-	/* EXEC SQL COMMIT WORK; */
-	SQLEndTran(SQL_HANDLE_ENV, henv, SQL_COMMIT);
-	/* commit inserts */
-
-	/* EXEC SQL DECLARE c1 CURSOR FOR SELECT ID, NAME FROM NAMEID; */
-	/* EXEC SQL OPEN c1; */
-	/* The application doesn't specify "declare c1 cursor for" */
-	{
-		SQLCHAR		select[] = "select ID, NAME from NAMEID";
-
-		if (SQLExecDirect(hstmt, select, SQL_NTS) != SQL_SUCCESS)
-			return (print_err(SQL_HANDLE_STMT, hstmt));
-	}
-
-	/* EXEC SQL FETCH c1 INTO :id, :name; */
-	/* this time, explicitly allocate an application row descriptor */
-	SQLAllocHandle(SQL_HANDLE_DESC, hdbc, &hdesc);
-	SQLSetDescRec(hdesc, 1, SQL_INTEGER, 0, 0L, 0, 0,
-		(SQLPOINTER) & id, (SQLINTEGER *) NULL, (SQLSMALLINT *) & idind);
-
-	SQLSetDescRec(hdesc, 2, SQL_
-				  CHAR, 0, (SQLINTEGER) sizeof(name),
-				  0, 0, (SQLPOINTER) & name, (SQLINTEGER *) & namelen,
-				  (SQLSMALLINT *) & nameind);
-	/* associate descriptor with statement handle */
-	SQLSetStmtAttr(hstmt, SQL_ATTR_APP_ROW_DESC, &hdesc, 0);
-	/* execute the fetch */
-	SQLFetch(hstmt);
-
-	/* EXEC SQL COMMIT WORK; */
-	/* commit the transaction  */
-	SQLEndTran(SQL_HANDLE_ENV, henv, SQL_COMMIT);
-
-	/* EXEC SQL CLOSE c1; */
-	SQLClose(hstmt);
-	/* free the statement handle */
-	SQLFreeHandle(SQL_HANDLE_STMT, hstmt);
-
-	/* EXEC SQL DISCONNECT; */
-	/* disconnect from the database */
-	SQLDisconnect(hdbc);
-	/* free descriptor handle */
-	SQLFreeHandle(SQL_HANDLE_DESC, hdesc);
-	/* free descriptor handle */
-	SQLFreeHandle(SQL_HANDLE_DESC, hdesc1);
-	/* free descriptor handle */
-	SQLFreeHandle(SQL_HANDLE_DESC, hdesc2);
-	/* free connection handle */
-	SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
-	/* free environment handle */
-	SQLFreeHandle(SQL_HANDLE_ENV, henv);
-
-	return (0);
-}
diff --git a/src/interfaces/cli/example2.c b/src/interfaces/cli/example2.c
deleted file mode 100644
index 9b02e4f3b7c..00000000000
--- a/src/interfaces/cli/example2.c
+++ /dev/null
@@ -1,270 +0,0 @@
-/* -*- C -*- */
-/* The first example illustrates creating a table, adding some data
- * to it, and selecting the inserted data. The second example shows
- * interactive ad hoc query processing.
- *
- * Actual applications include more complete error checking following
- * calls to SQL/CLI routines. That material is omitted from this
- * Appendix for the sake of clarity.
- *
- * This file is adapted for PostgreSQL
- * from the CLI Annex in the SQL98 August 1994 draft standard.
- * Thomas G. Lockhart 1999-06-16
- */
-
-/*
- * B.2	Interactive Query
- *
- * This sample function uses the concise CLI functions to
- * interactively execute a SQL statement supplied as an argument.
- * In the case where the user types a SELECT statement, the function
- * fetches and displays all rows of the result set.
- *
- * This example illustrates the use of GetDiagField() to identify
- * the type of SQL statement executed and, for SQL statements where
- * the row count is defined on all implementations, the use of
- * GetDiagField() to obtain the row count.
- */
-
-/*
- * Sample program - uses concise CLI functions to execute
- * interactively an ad hoc statement.
- */
-#include "sqlcli.h"
-#include <string.h>
-#include <stdlib.h>
-
-#define  MAXCOLS   100
-
-#define  max(a,b) (a>b?a:b)
-
-int			print_err(SQLSMALLINT handletype, SQLINTEGER handle);
-int build_indicator_message(SQLCHAR * errmsg,
-						SQLPOINTER * data,
-						SQLINTEGER collen,
-						SQLINTEGER * outlen,
-						SQLSMALLINT colnum);
-
-SQLINTEGER display_length(SQLSMALLINT coltype,
-			   SQLINTEGER collen,
-			   SQLCHAR * colname);
-
-example2(SQLCHAR * server, SQLCHAR * uid, SQLCHAR * authen, SQLCHAR * sqlstr)
-{
-	int			i;
-	SQLHENV		henv;
-	SQLHDBC		hdbc;
-	SQLHSTMT	hstmt;
-	SQLCHAR		errmsg[256];
-	SQLCHAR		colname[64];
-	SQLSMALLINT coltype;
-	SQLSMALLINT colnamelen;
-	SQLSMALLINT nullable;
-	SQLINTEGER	collen[MAXCOLS];
-	SQLSMALLINT scale;
-	SQLINTEGER	outlen[MAXCOLS];
-	SQLCHAR    *data[MAXCOLS];
-	SQLSMALLINT nresultcols;
-	SQLINTEGER	rowcount;
-	SQLINTEGER	stmttype;
-	SQLRETURN	rc;
-
-	/* allocate an environment handle */
-	SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
-
-	/* allocate a connection handle */
-	SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
-
-	/* connect to database */
-	if (SQLConnect(hdbc, server, SQL_NTS, uid, SQL_NTS, authen, SQL_NTS)
-		!= SQL_SUCCESS)
-		return (print_err(SQL_HANDLE_DBC, hdbc));
-
-	/* allocate a statement handle */
-	SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
-
-	/* execute the SQL statement */
-	if (SQLExecDirect(hstmt, sqlstr, SQL_NTS) != SQL_SUCCESS)
-		return (print_err(SQL_HANDLE_STMT, hstmt));
-
-	/* see what kind of statement it was */
-	SQLGetDiagField(SQL_HANDLE_STMT, hstmt, 0,
-					SQL_DIAG_DYNAMIC_FUNCTION_CODE,
-					(SQLPOINTER) & stmttype, 0, (SQLSMALLINT *) NULL);
-
-	switch (stmttype)
-	{
-			/* SELECT statement */
-		case SQL_SELECT_CURSOR:
-			/* determine number of result columns */
-			SQLNumResultCols(hstmt, &nresultcols);
-			/* display column names */
-			for (i = 0; i < nresultcols; i++)
-			{
-				SQLDescribeCol(hstmt, i + 1, colname, sizeof(colname),
-				   &colnamelen, &coltype, &collen[i], &scale, &nullable);
-
-				/*
-				 * assume there is a display_length function which
-				 * computes correct length given the data type
-				 */
-				collen[i] = display_length(coltype, collen[i], colname);
-				(void) printf("%*.*s", collen[i], collen[i], colname);
-				/* allocate memory to bind column */
-				data[i] = (SQLCHAR *) malloc(collen[i]);
-
-				/*
-				 * bind columns to program vars, converting all types to
-				 * CHAR
-				 */
-				SQLBindCol(hstmt, i + 1, SQL_CHAR, data[i], collen[i],
-						   &outlen[i]);
-			}
-			/* display result rows */
-			while ((rc = SQLFetch(hstmt)) != SQL_ERROR)
-			{
-				errmsg[0] = '\0';
-				if (rc == SQL_SUCCESS_WITH_INFO)
-				{
-					for (i = 0; i < nresultcols; i++)
-					{
-						if (outlen[i] == SQL_NULL_DATA || outlen[i] >= collen[i])
-							build_indicator_message(errmsg,
-									 (SQLPOINTER *) & data[i], collen[i],
-													&outlen[i], i);
-						(void) printf("%*.*s ", outlen[i], outlen[i],
-									  data[i]);
-					}			/* for all columns in this row	*/
-					/* print any truncation messages */
-					(void) printf("\n%s", errmsg);
-				}
-			}					/* while rows to fetch */
-			SQLClose(hstmt);
-			break;
-
-			/* searched DELETE, INSERT or searched UPDATE statement */
-		case SQL_DELETE_WHERE:
-		case SQL_INSERT:
-		case SQL_UPDATE_WHERE:
-			/* check rowcount */
-			SQLGetDiagField(SQL_HANDLE_STMT, hstmt, 0,
-						  SQL_DIAG_ROW_COUNT, (SQLPOINTER) & rowcount, 0,
-							(SQLSMALLINT *) NULL);
-			if (SQLEndTran(SQL_HANDLE_ENV, henv, SQL_COMMIT)
-				== SQL_SUCCESS)
-				(void) printf("Operation successful\n");
-			else
-				(void) printf("Operation failed\n");
-			(void) printf("%ld rows affected\n", rowcount);
-			break;
-
-			/* other statements */
-		case SQL_ALTER_TABLE:
-		case SQL_CREATE_TABLE:
-		case SQL_CREATE_VIEW:
-		case SQL_DROP_TABLE:
-		case SQL_DROP_VIEW:
-		case SQL_DYNAMIC_DELETE_CURSOR:
-		case SQL_DYNAMIC_UPDATE_CURSOR:
-		case SQL_GRANT:
-		case SQL_REVOKE:
-			if (SQLEndTran(SQL_HANDLE_ENV, henv, SQL_COMMIT)
-				== SQL_SUCCESS)
-				(void) printf("Operation successful\n");
-			else
-				(void) printf("Operation failed\n");
-			break;
-
-			/* implementation-defined statement */
-		default:
-			(void) printf("Statement type=%ld\n", stmttype);
-			break;
-	}
-
-	/* free data buffers */
-	for (i = 0; i < nresultcols; i++)
-		(void) free(data[i]);
-
-	/* free statement handle */
-	SQLFreeHandle(SQL_HANDLE_STMT, hstmt);
-	/* disconnect from database */
-	SQLDisconnect(hdbc);
-	/* free connection handle */
-	SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
-	/* free environment handle */
-	SQLFreeHandle(SQL_HANDLE_ENV, henv);
-
-	return (0);
-}
-
-/***********************************************************
- The following functions are given for completeness, but are
- not relevant for understanding the database processing
- nature of CLI
-***********************************************************/
-
-#define MAX_NUM_PRECISION 15
-/*#define max length of char string representation of no. as:
-
-  = max(precision) + leading sign + E + exp sign + max exp length
-  =  15			   + 1			  + 1 + 1		 + 2
-  =  15 + 5
-*/
-#define MAX_NUM_STRING_SIZE (MAX_NUM_PRECISION + 5)
-
-SQLINTEGER
-display_length(SQLSMALLINT coltype, SQLINTEGER collen,
-			   SQLCHAR * colname)
-{
-	switch (coltype)
-	{
-
-		case SQL_VARCHAR:
-		case SQL_CHAR:
-			return (max(collen, strlen((char *) colname)));
-			break;
-
-		case SQL_FLOAT:
-		case SQL_DOUBLE:
-		case SQL_NUMERIC:
-		case SQL_REAL:
-		case SQL_DECIMAL:
-			return (max(MAX_NUM_STRING_SIZE, strlen((char *) colname)));
-			break;
-
-		case SQL_DATETIME:
-			return (max(SQL_TIMESTAMP_LEN, strlen((char *) colname)));
-			break;
-
-		case SQL_INTEGER:
-			return (max(10, strlen((char *) colname)));
-			break;
-
-		case SQL_SMALLINT:
-			return (max(5, strlen((char *) colname)));
-			break;
-
-		default:
-			(void) printf("Unknown datatype, %d\n", coltype);
-			return (0);
-			break;
-	}
-}
-
-int
-build_indicator_message(SQLCHAR * errmsg, SQLPOINTER * data,
-			  SQLINTEGER collen, SQLINTEGER * outlen, SQLSMALLINT colnum)
-{
-	if (*outlen == SQL_NULL_DATA)
-	{
-		(void) strcpy((char *) data, "NULL");
-		*outlen = 4;
-	}
-	else
-	{
-		sprintf((char *) errmsg + strlen((char *) errmsg),
-				"%d chars truncated, col %d\n", *outlen - collen + 1,
-				colnum);
-		*outlen = 255;
-	}
-}
diff --git a/src/interfaces/cli/sqlcli.h b/src/interfaces/cli/sqlcli.h
deleted file mode 100644
index a9145495fc6..00000000000
--- a/src/interfaces/cli/sqlcli.h
+++ /dev/null
@@ -1,719 +0,0 @@
-/* -*- C -*- */
-/* sqlcli.h  Header File for SQL CLI.
- * The actual header file must contain at least the information
- * specified here, except that the comments may vary.
- *
- * This file is adapted for PostgreSQL
- * from the SQL98 August 1994 draft standard.
- * Thomas G. Lockhart 1999-06-16
- *
- * Updated from Date and Darwen, 1997, with some definitions
- * not in the SQL3 August 1994 draft standard
- * - Thomas Lockhart 1999-06-17
- */
-
-/* API declaration data types */
-typedef unsigned char SQLCHAR;
-typedef long SQLINTEGER;
-typedef short SQLSMALLINT;
-typedef double SQLDOUBLE;
-typedef float SQLREAL;
-typedef void *SQLPOINTER;
-typedef unsigned char SQLDATE;
-typedef unsigned char SQLTIME;
-typedef unsigned char SQLTIMESTAMP;
-typedef unsigned char SQLDECIMAL;
-typedef unsigned char SQLNUMERIC;
-
-/* function return type */
-typedef SQLSMALLINT SQLRETURN;
-
-/* generic data structures */
-typedef SQLINTEGER SQLHENV;		/* environment handle */
-typedef SQLINTEGER SQLHDBC;		/* connection handle */
-typedef SQLINTEGER SQLHSTMT;	/* statement handle */
-typedef SQLINTEGER SQLHDESC;	/* descriptor handle */
-
-/* special length/indicator values */
-#define SQL_NULL_DATA			  -1
-#define SQL_DATA_AT_EXEC		  -2
-
-/* return values from functions */
-#define SQL_SUCCESS				   0
-#define SQL_SUCCESS_WITH_INFO	   1
-#define SQL_NEED_DATA			  99
-#define SQL_NO_DATA				 100
-#define SQL_ERROR				  -1
-#define SQL_INVALID_HANDLE		  -2
-
-/* test for SQL_SUCCESS or SQL_SUCCESS_WITH_INFO */
-#define SQL_SUCCEEDED(rc) (((rc)&(~1))==0)
-
-/* flags for null-terminated string */
-#define SQL_NTS					  -3
-#define SQL_NTSL				  -3L
-
-/* maximum message length from Date and Darwen
- * was 255 in the August 1994 draft standard
- * - Thomas Lockhart 1999-06-17
- */
-#define SQL_MAX_MESSAGE_LENGTH	 512
-
-/* maximum identifier length */
-#define SQL_MAX_ID_LENGTH		  18
-
-/* date/time length constants */
-/* add p+1 for time and timestamp if precision is nonzero */
-#define SQL_DATE_LEN			  10
-#define SQL_TIME_LEN			   8
-#define SQL_TIMESTAMP_LEN		  19
-
-/* handle type identifiers */
-#define SQL_HANDLE_ENV			   1
-#define SQL_HANDLE_DBC			   2
-#define SQL_HANDLE_STMT			   3
-#define SQL_HANDLE_DESC			   4
-
-/* environment attribute */
-#define SQL_ATTR_OUTPUT_NTS    10001
-
-/* connection attribute */
-#define SQL_ATTR_AUTO_IPD	   10001
-
-/* statement attributes */
-#define SQL_ATTR_APP_ROW_DESC		 10010
-#define SQL_ATTR_APP_PARAM_DESC		 10011
-#define SQL_ATTR_IMP_ROW_DESC		 10012
-#define SQL_ATTR_IMP_PARAM_DESC		 10013
-#define SQL_ATTR_CURSOR_SCROLLABLE		-1
-#define SQL_ATTR_CURSOR_SENSITIVITY		-2
-
-/* identifiers of fields in the SQL descriptor */
-/* These ran 1-99 in the August 1994 draft standard
- * - Thomas Lockhart 1999-06-17
- */
-#define SQL_DESC_COUNT						  1001
-#define SQL_DESC_TYPE						  1002
-#define SQL_DESC_LENGTH						  1003
-#define SQL_DESC_OCTET_LENGTH_POINTER		  1004
-#define SQL_DESC_PRECISION					  1005
-#define SQL_DESC_SCALE						  1006
-#define SQL_DESC_DATETIME_INTERVAL_CODE		  1007
-#define SQL_DESC_NULLABLE					  1008
-#define SQL_DESC_INDICATOR_POINTER			  1009
-#define SQL_DESC_DATA_POINTER				  1010
-#define SQL_DESC_NAME						  1011
-#define SQL_DESC_UNNAMED					  1012
-#define SQL_DESC_OCTET_LENGTH				  1013
-#define SQL_DESC_DATETIME_INTERVAL_PRECISION  1014
-#define SQL_DESC_COLLATION_CATALOG			  1015
-#define SQL_DESC_COLLATION_SCHEMA			  1016
-#define SQL_DESC_COLLATION_NAME				  1017
-#define SQL_DESC_CHARACTER_SET_CATALOG		  1018
-#define SQL_DESC_CHARACTER_SET_SCHEMA		  1019
-#define SQL_DESC_CHARACTER_SET_NAME			  1020
-#define SQL_DESC_PARAMETER_MODE				  1021
-#define SQL_DESC_PARAMETER_ORDINAL_POSITION   1022
-#define SQL_DESC_PARAMETER_SPECIFIC_CATALOG   1023
-#define SQL_DESC_PARAMETER_SPECIFIC_SCHEMA	  1024
-#define SQL_DESC_PARAMETER_SPECIFIC_NAME	  1025
-#define SQL_DESC_ALLOC_TYPE					  1099
-
-/* identifiers of fields in the diagnostics area */
-/* Many new definitions since August 1994 draft standard
- * - Thomas Lockhart 1999-06-17
- */
-#define SQL_DIAG_RETURNCODE						 1
-#define SQL_DIAG_NUMBER							 2
-#define SQL_DIAG_ROW_COUNT						 3
-#define SQL_DIAG_SQLSTATE						 4
-#define SQL_DIAG_NATIVE							 5
-#define SQL_DIAG_MESSAGE_TEXT					 6
-#define SQL_DIAG_DYNAMIC_FUNCTION				 7
-#define SQL_DIAG_CLASS_ORIGIN					 8
-#define SQL_DIAG_SUBCLASS_ORIGIN				 9
-#define SQL_DIAG_CONNECTION_NAME				10
-#define SQL_DIAG_SERVER_NAME					11
-#define SQL_DIAG_DYNAMIC_FUNCTION_CODE			12
-#define SQL_DIAG_MORE							13
-#define SQL_DIAG_CONDITION_NUMBER				14
-#define SQL_DIAG_CONSTRAINT_CATALOG				15
-#define SQL_DIAG_CONSTRAINT_SCHEMA				16
-#define SQL_DIAG_CONSTRAINT_NAME				17
-#define SQL_DIAG_CATALOG_NAME					18
-#define SQL_DIAG_SCHEMA_NAME					19
-#define SQL_DIAG_TABLE_NAME						20
-#define SQL_DIAG_COLUMN_NAME					21
-#define SQL_DIAG_CURSOR_NAME					22
-#define SQL_DIAG_MESSAGE_LENGTH					23
-#define SQL_DIAG_MESSAGE_OCTET_LENGTH			24
-
-/* dynamic function codes returned in diagnostics area */
-#define SQL_DIAG_ALTER_DOMAIN					 3
-#define SQL_DIAG_ALTER_TABLE					 4
-#define SQL_DIAG_CREATE_ASSERTION				 6
-#define SQL_DIAG_CREATE_CHARACTER_SET			 8
-#define SQL_DIAG_CREATE_COLLATION				10
-#define SQL_DIAG_CREATE_DOMAIN					23
-#define SQL_DIAG_CREATE_SCHEMA					64
-#define SQL_DIAG_CREATE_TABLE					77
-#define SQL_DIAG_CREATE_TRANSLATION				79
-#define SQL_DIAG_CREATE_VIEW					84
-#define SQL_DIAG_DELETE_WHERE					19
-#define SQL_DIAG_DROP_ASSERTION					24
-#define SQL_DIAG_DROP_CHARACTER_SET				25
-#define SQL_DIAG_DROP_COLLATION					26
-#define SQL_DIAG_DROP_DOMAIN					27
-#define SQL_DIAG_DROP_SCHEMA					31
-#define SQL_DIAG_DROP_TABLE						32
-#define SQL_DIAG_DROP_TRANSLATION				33
-#define SQL_DIAG_DROP_VIEW						36
-#define SQL_DIAG_DYNAMIC_DELETE_CURSOR			54
-#define SQL_DIAG_DYNAMIC_UPDATE_CURSOR			55
-#define SQL_DIAG_GRANT							48
-#define SQL_DIAG_INSERT							50
-#define SQL_DIAG_REVOKE							59
-#define SQL_DIAG_SELECT							41
-#define SQL_DIAG_SELECT_CURSOR					85
-#define SQL_DIAG_SET_CATALOG					66
-#define SQL_DIAG_SET_CONSTRAINT					68
-#define SQL_DIAG_SET_NAMES						72
-#define SQL_DIAG_SET_SCHEMA						74
-#define SQL_DIAG_SET_SESSION_AUTHORIZATION		76
-#define SQL_DIAG_SET_TIME_ZONE					71
-#define SQL_DIAG_SET_TRANSACTION				75
-#define SQL_DIAG_UNKNOWN_STATEMENT				 0
-#define SQL_DIAG_UPDATE_WHERE					82
-
-/* SQL data type codes */
-#define SQL_CHAR		  1
-#define SQL_NUMERIC		  2
-#define SQL_DECIMAL		  3
-#define SQL_INTEGER		  4
-#define SQL_SMALLINT	  5
-#define SQL_FLOAT		  6
-#define SQL_REAL		  7
-#define SQL_DOUBLE		  8
-#define SQL_DATETIME	  9
-#define SQL_INTERVAL	 10
-#define SQL_VARCHAR		 12
-#define SQL_BIT			 14
-#define SQL_BIT_VARYING  15
-
-/* One-parameter shortcuts for datetime data types */
-#define SQL_TYPE_DATE					   91
-#define SQL_TYPE_TIME					   92
-#define SQL_TYPE_TIME_WITH_TIMEZONE		   93
-#define SQL_TYPE_TIMESTAMP				   94
-#define SQL_TYPE_TIMESTAMP_WITH_TIMEZONE   95
-#define SQL_INTERVAL_DAY				  103
-#define SQL_INTERVAL_DAY_TO_HOUR		  108
-#define SQL_INTERVAL_DAY_TO_MINUTE		  109
-#define SQL_INTERVAL_DAY_TO_SECOND		  110
-#define SQL_INTERVAL_HOUR				  104
-#define SQL_INTERVAL_HOUR_TO_MINUTE		  111
-#define SQL_INTERVAL_HOUR_TO_SECOND		  112
-#define SQL_INTERVAL_MINUTE				  105
-#define SQL_INTERVAL_MINUTE_TO_SECOND	  113
-#define SQL_INTERVAL_MONTH				  102
-#define SQL_INTERVAL_SECOND				  106
-#define SQL_INTERVAL_YEAR				  101
-#define SQL_INTERVAL_YEAR_TO_MONTH		  107
-
-/* GetTypeInfo request for all data types */
-#define SQL_ALL_TYPES			 0
-
-/* BindCol()  and BindParam() default conversion code */
-#define SQL_DEFAULT				99
-
-/* GetData code indicating that the application parameter */
-/* descriptor specifies the data type */
-#define SQL_ARD_TYPE		   -99
-
-/* date/time type subcodes */
-#define SQL_CODE_DATE			 1
-#define SQL_CODE_TIME			 2
-#define SQL_CODE_TIMESTAMP		 3
-#define SQL_CODE_TIME_ZONE		 4
-#define SQL_CODE_TIMESTAMP_ZONE  5
-
-/* interval qualifier codes */
-#define SQL_DAY					 3
-#define SQL_DAY_TO_HOUR			 8
-#define SQL_DAY_TO_MINUTE		 9
-#define SQL_DAY_TO_SECOND		10
-#define SQL_HOUR				 4
-#define SQL_HOUR_TO_MINUTE		11
-#define SQL_HOUR_TO_SECOND		12
-#define SQL_MINUTE				 5
-#define SQL_MINUTE_TO_SECOND	13
-#define SQL_MONTH				 2
-#define SQL_SECOND				 6
-#define SQL_YEAR				 1
-#define SQL_YEAR_TO_MONTH		 7
-
-/* CLI option values */
-#define SQL_FALSE				 0
-#define SQL_TRUE				 1
-#define SQL_NONSCROLLABLE		 0
-#define SQL_SCROLLABLE			 1
-
-/* parameter modes */
-#define SQL_PARAM_MODE_IN		 1
-#define SQL_PARAM_MODE_OUT		 4
-#define SQL_PARAM_MODE_INOUT	 2
-#define SQL_PARAM_MODE_NONE		 0
-
-/* values of NULLABLE field in descriptor */
-#define SQL_NO_NULLS			 0
-#define SQL_NULLABLE			 1
-
-/*		Values returned by GetTypeInfo for the SEARCHABLE column */
-#define SQL_PRED_NONE			 0
-#define SQL_PRED_CHAR			 1
-#define SQL_PRED_BASIC			 2
-
-/* values of UNNAMED field in descriptor */
-#define SQL_NAMED				 0
-#define SQL_UNNAMED				 1
-
-/* values of ALLOC_TYPE field in descriptor */
-#define SQL_DESC_ALLOC_AUTO		 1
-#define SQL_DESC_ALLOC_USER		 2
-
-/* EndTran()  options */
-#define SQL_COMMIT				 0
-#define SQL_ROLLBACK			 1
-
-/* FreeStmt()  options */
-#define SQL_CLOSE				 0
-#define SQL_DROP				 1
-#define SQL_UNBIND				 2
-#define SQL_RESET_PARAMS		 3
-
-/* null handles returned by AllocHandle() */
-#define SQL_NULL_HENV			 0
-#define SQL_NULL_HDBC			 0
-#define SQL_NULL_HSTMT			 0
-#define SQL_NULL_HDESC			 0
-
-/* GetFunctions values to identify CLI routines */
-#define SQL_API_SQLALLOCCONNECT			1
-#define SQL_API_SQLALLOCENV				2
-#define SQL_API_SQLALLOCHANDLE		 1001
-#define SQL_API_SQLALLOCSTMT			3
-#define SQL_API_SQLBINDCOL				4
-#define SQL_API_SQLBINDPARAM		 1002
-#define SQL_API_SQLCANCEL				5
-#define SQL_API_SQLCLOSECURSOR		 1003
-#define SQL_API_SQLCOLATTRIBUTE			6
-#define SQL_API_SQLCONNECT				7
-#define SQL_API_SQLCOPYDESC			 1004
-#define SQL_API_SQLDATASOURCES		   57
-#define SQL_API_SQLDESCRIBECOL			8
-#define SQL_API_SQLDISCONNECT			9
-#define SQL_API_SQLENDTRAN			 1005
-#define SQL_API_SQLERROR			   10
-#define SQL_API_SQLEXECDIRECT		   11
-#define SQL_API_SQLEXECUTE			   12
-#define SQL_API_SQLFETCH			   13
-#define SQL_API_SQLFETCHSCROLL		 1021
-#define SQL_API_SQLFREECONNECT		   14
-#define SQL_API_SQLFREEENV			   15
-#define SQL_API_SQLFREEHANDLE		 1006
-#define SQL_API_SQLFREESTMT			   16
-#define SQL_API_SQLGETCONNECTATTR	 1007
-#define SQL_API_SQLGETCURSORNAME	   17
-#define SQL_API_SQLGETDATA			   43
-#define SQL_API_SQLGETDESCFIELD		 1008
-#define SQL_API_SQLGETDESCREC		 1009
-#define SQL_API_SQLGETDIAGFIELD		 1010
-#define SQL_API_SQLGETDIAGREC		 1011
-#define SQL_API_SQLGETENVATTR		 1012
-#define SQL_API_SQLGETFUNCTIONS		   44
-#define SQL_API_SQLGETINFO			   45
-#define SQL_API_SQLGETSTMTATTR		 1014
-#define SQL_API_SQLGETTYPEINFO		   47
-#define SQL_API_SQLNUMRESULTCOLS	   18
-#define SQL_API_SQLPARAMDATA		   48
-#define SQL_API_SQLPREPARE			   19
-#define SQL_API_SQLPUTDATA			   49
-#define SQL_API_SQLRELEASEENV		 1015		/* Obsolete? */
-#define SQL_API_SQLROWCOUNT			   20
-#define SQL_API_SQLSCROLLFETCH		 1021		/* Obsolete? */
-#define SQL_API_SQLSETCONNECTATTR	 1016
-#define SQL_API_SQLSETCURSORNAME	   21
-#define SQL_API_SQLSETDESCFIELD		 1017
-#define SQL_API_SQLSETDESCREC		 1018
-#define SQL_API_SQLSETENVATTR		 1019
-#define SQL_API_SQLSETSTMTATTR		 1020
-
-/* information requested by GetInfo */
-#define SQL_MAXIMUM_DRIVER_CONNECTIONS		0
-#define SQL_MAXIMUM_CONCURRENT_ACTIVITIES	1
-#define SQL_DATA_SOURCE_NAME				2
-#define SQL_FETCH_DIRECTION					8
-#define SQL_SERVER_NAME					   13
-#define SQL_DBMS_NAME					   17
-#define SQL_DBMS_VERSION				   18
-#define SQL_CURSOR_COMMIT_BEHAVIOR		   23
-#define SQL_DATA_SOURCE_READ_ONLY		   25
-#define SQL_DEFAULT_TRANSACTION_ISOLATION  26
-#define SQL_IDENTIFIER_CASE				   28
-#define SQL_MAXIMUM_COLUMN_NAME_LENGTH	   30
-#define SQL_MAXIMUM_CURSOR_NAME_LENGTH	   31
-#define SQL_MAXIMUM_SCHEMA_NAME_LENGTH	   32
-#define SQL_MAXIMUM_CATALOG_NAME_LENGTH    34
-#define SQL_MAXIMUM_TABLE_NAME_LENGTH	   35
-#define SQL_SCROLL_CONCURRENCY			   43
-#define SQL_TRANSACTION_CAPABLE			   46
-#define SQL_USER_NAME					   47
-#define SQL_TRANSACTION_ISOLATION_OPTION   72
-#define SQL_INTEGRITY					   73
-#define SQL_GETDATA_EXTENSIONS			   81
-#define SQL_NULL_COLLATION				   85
-#define SQL_ALTER_TABLE					   86
-#define SQL_ORDER_BY_COLUMNS_IN_SELECT	   90
-#define SQL_SPECIAL_CHARACTERS			   94
-#define SQL_MAXIMUM_COLUMNS_IN_GROUP_BY    97
-#define SQL_MAXIMUM_COLUMNS_IN_ORDER_BY    99
-#define SQL_MAXIMUM_COLUMNS_IN_SELECT	  100
-#define SQL_MAXIMUM_COLUMNS_IN_TABLE	  101
-#define SQL_MAXIMUM_STATEMENT_LENGTH	  105
-#define SQL_MAXIMUM_TABLES_IN_SELECT	  106
-#define SQL_MAXIMUM_USER_NAME_LENGTH	  107
-#define SQL_OUTER_JOIN_CAPABILITIES		  115
-#define SQL_CURSOR_SENSITIVITY			10001
-#define SQL_DESCRIBE_PARAMETER			10002
-#define SQL_CATALOG_NAME				10003
-#define SQL_COLLATING_SEQUENCE			10004
-#define SQL_MAXIMUM_IDENTIFIER_LENGTH	10005
-
-/* S-resource attribute values for cursor sensitivity */
-#define SQL_UNSPECIFIED			  0x00000000L
-#define SQL_INSENSITIVE			  0x00000001L
-
-/* null handle used when allocating HENV */
-#define SQL_NULL_HANDLE					   0L
-
-/* SQL_ALTER_TABLE bitmasks */
-#define SQL_AT_ADD_COLUMN		  0x00000001L
-#define SQL_AT_DROP_COLUMN		  0x00000002L
-#define SQL_AT_ALTER_COLUMN		  0x00000004L
-#define SQL_AT_ADD_CONSTRAINT	  0x00000008L
-#define SQL_AT_DROP_CONSTRAINT	  0x00000010L
-
-/* SQL_CURSOR_COMMIT_BEHAVIOR values */
-#define SQL_CB_DELETE						0
-#define SQL_CB_CLOSE						1
-#define SQL_CB_PRESERVE						2
-
-/* SQL_FETCH_DIRECTION bitmasks */
-#define SQL_FD_FETCH_NEXT		  0x00000001L
-#define SQL_FD_FETCH_FIRST		  0x00000002L
-#define SQL_FD_FETCH_LAST		  0x00000004L
-#define SQL_FD_FETCH_PRIOR		  0x00000008L
-#define SQL_FD_FETCH_ABSOLUTE	  0x00000010L
-#define SQL_FD_FETCH_RELATIVE	  0x00000020L
-
-/* SQL_GETDATA_EXTENSIONS bitmasks */
-#define SQL_GD_ANY_COLUMN		  0x00000001L
-#define SQL_FD_ANY_ORDER		  0x00000002L
-
-/* SQL_IDENTIFIER_CASE values */
-#define SQL_IC_UPPER						1
-#define SQL_IC_LOWER						2
-#define SQL_IC_SENSITIVE					3
-#define SQL_IC_MIXED						4
-
-/* SQL_IDENTIFIER_CASE values */
-#define SQL_NC_HIGH							1
-#define SQL_NC_LOW							2
-
-/* SQL_OUTER_JOIN_CAPABILITIES bitmasks */
-#define SQL_OUTER_JOIN_LEFT					  0x00000001L
-#define SQL_OUTER_JOIN_RIGHT				  0x00000002L
-#define SQL_OUTER_JOIN_FULL					  0x00000004L
-#define SQL_OUTER_JOIN_NESTED				  0x00000008L
-#define SQL_OUTER_JOIN_NOT_ORDERED			  0x00000010L
-#define SQL_OUTER_JOIN_INNER				  0x00000020L
-#define SQL_OUTER_JOIN_ALL_COMPARISION_OPS	  0x00000040L
-
-/* SQL_SCROLL_CONCURRENCY bitmasks */
-#define SQL_SCCO_READ_ONLY					  0x00000001L
-#define SQL_SCCO_LOCK						  0x00000002L
-#define SQL_SCCO_OPT_ROWVER					  0x00000004L
-#define SQL_SCCO_OPT_VALUES					  0x00000008L
-
-/* SQL_IDENTIFIER_CASE values */
-#define SQL_TC_NONE							0
-#define SQL_TC_DML							1
-#define SQL_TC_ALL							2
-#define SQL_TC_DDL_COMMIT					3
-#define SQL_TC_DDL_IGNORE					4
-
-/* SQL_TRANSACTION_ISOLATION bitmasks */
-#define SQL_TRANSACTION_READ_UNCOMMITTED	  0x00000001L
-#define SQL_TRANSACTION_READ_COMMITTED		  0x00000002L
-#define SQL_TRANSACTION_READ_REPEATABLE_READ  0x00000004L
-#define SQL_TRANSACTION_READ_SERIALIZABLE	  0x00000008L
-
-
-
-#define SQL_TRANSACTION_READ_UNCOMMITTED	0x00000001L
-#define SQL_TRANSACTION_READ_UNCOMMITTED	0x00000001L
-#define SQL_FD_FETCH_NEXT		  0x00000001L
-
-/* CLI function signatures */
-
-SQLRETURN SQLAllocConnect(SQLHENV EnvironmentHandle,
-				SQLHDBC * ConnectionHandle);
-
-SQLRETURN	SQLAllocEnv(SQLHENV * EnvironmentHandle);
-
-SQLRETURN SQLAllocHandle(SQLSMALLINT HandleType,
-			   SQLINTEGER InputHandle,
-			   SQLINTEGER * OutputHandle);
-
-SQLRETURN SQLAllocStmt(SQLHDBC ConnectionHandle,
-			 SQLSTMT * StatementHandle);
-
-SQLRETURN SQLBindCol(SQLHSTMT StatementHandle,
-		   SQLSMALLINT ColumnNumber,
-		   SQLSMALLINT BufferType,
-		   SQLPOINTER Data,
-		   SQLINTEGER BufferLength,
-		   SQLINTEGER * DataLength);
-
-SQLRETURN SQLBindParam(SQLHSTMT StatementHandle,
-			 SQLSMALLINT ParamNumber,
-			 SQLSMALLINT BufferType,
-			 SQLSMALLINT ParamType,
-			 SQLINTEGER ParamLength,
-			 SQLSMALLINT Scale,
-			 SQLPOINTER Data,
-			 SQLINTEGER * DataLength);
-
-SQLRETURN	SQLCancel(SQLHSTMT StatementHandle);
-
-SQLRETURN	SQLCloseCursor(SQLHSTMT StatementHandle);
-
-SQLRETURN SQLColAttribute(SQLHSTMT StatementHandle,
-				SQLSMALLINT ColumnNumber,
-				SQLSMALLINT FieldIdentifier,
-				SQLCHAR * CharacterAttribute,
-				SQLINTEGER BufferLength,
-				SQLINTEGER * AttributetLength,
-				SQLINTEGER * NumericAttribute);
-
-SQLRETURN SQLConnect(SQLHDBC ConnectionHandle,
-		   SQLCHAR * ServerName,
-		   SQLSMALLINT NameLength1,
-		   SQLCHAR * UserName,
-		   SQLSMALLINT NameLength2,
-		   SQLCHAR * Authentication,
-		   SQLSMALLINT NameLength3);
-
-SQLRETURN SQLCopyDesc(SQLHDESC SourceDescHandle,
-			SQLHDESC TargetDescHandle);
-
-SQLRETURN SQLDataSources(SQLHENV EnvironmentHandle,
-			   SQLSMALLINT Direction,
-			   SQLCHAR * ServerName,
-			   SQLSMALLINT BufferLength1,
-			   SQLSMALLINT * NameLength1,
-			   SQLCHAR * Description,
-			   SQLSMALLINT BufferLength2,
-			   SQLSMALLINT * NameLength2);
-
-SQLRETURN SQLDescribeCol(SQLHSTMT StatementHandle,
-			   SQLSMALLINT ColumnNumber,
-			   SQLCHAR * ColumnName,
-			   SQLSMALLINT BufferLength,
-			   SQLSMALLINT * ColumnNameLength,
-			   SQLSMALLINT * ColumnType,
-			   SQLINTEGER * ColumnLength,
-			   SQLSMALLINT * ColumnScale,
-			   SQLSMALLINT * Nullable);
-
-SQLRETURN	SQLDisconnect(SQLHDBC ConnectionHandle);
-
-SQLRETURN SQLEndTran(SQLSMALLINT HandleType,
-		   SQLHENV Handle,
-		   SQLSMALLINT CompletionType);
-
-SQLRETURN SQLError(SQLHENV EnvironmentHandle,
-		 SQLHDBC ConnectionHandle,
-		 SQLSTMT StatementHandle,
-		 SQLCHAR * Sqlstate,
-		 SQLINTEGER * NativeError,
-		 SQLCHAR * MessageText,
-		 SQLINTEGER BufferLength,
-		 SQLINTEGER * TextLength);
-
-SQLRETURN SQLExecDirect(SQLHSTMT StatementHandle,
-			  SQLCHAR * StatementText,
-			  SQLSMALLINT StringLength);
-
-SQLRETURN	SQLExecute(SQLHSTMT StatementHandle);
-
-SQLRETURN	SQLFetch(SQLHSTMT StatementHandle);
-
-SQLRETURN SQLFetchScroll(SQLHSTMT StatementHandle,
-			   SQLSMALLINT FetchOrientation,
-			   SQLINTEGER FetchOffset);
-
-SQLRETURN	SQLFreeConnect(SQLHDBC ConnectionHandle);
-
-SQLRETURN	SQLFreeEnv(SQLHENV EnvironmentHandle);
-
-SQLRETURN SQLFreeHandle(SQLSMALLINT HandleType,
-			  SQLINTEGER Handle);
-
-SQLRETURN	SQLFreeStmt(SQLHSTMT StatementHandle);
-
-SQLRETURN SQLGetConnectAttr(SQLHDBC ConnectionHandle,
-				  SQLINTEGER Attribute,
-				  SQLPOINTER Value,
-				  SQLINTEGER BufferLength,
-				  SQLINTEGER * StringLength);
-
-SQLRETURN SQLGetCursorName(SQLHSTMT StatementHandle,
-				 SQLCHAR * CursorName,
-				 SQLSMALLINT BufferLength,
-				 SQLSMALLINT * NameLength);
-
-SQLRETURN SQLGetData(SQLHSTMT StatementHandle,
-		   SQLSMALLINT ColumnNumber,
-		   SQLSMALLINT TargetType,
-		   SQLPOINTER TargetValue,
-		   SQLINTEGER BufferLength,
-		   SQLINTEGER * IndicatorValue);
-
-SQLRETURN SQLGetDescField(SQLHDESC DescriptorHandle,
-				SQLSMALLINT RecordNumber,
-				SQLSMALLINT FieldIdentifier,
-				SQLPOINTER Value,
-				SQLINTEGER BufferLength,
-				SQLINTEGER * StringLength);
-
-SQLRETURN SQLGetDescRec(SQLHDESC DescriptorHandle,
-			  SQLSMALLINT RecordNumber,
-			  SQLCHAR * Name,
-			  SQLSMALLINT BufferLength,
-			  SQLSMALLINT * StringLength,
-			  SQLSMALLINT * Type,
-			  SQLSMALLINT * SubType,
-			  SQLINTEGER * Length,
-			  SQLSMALLINT * Precision,
-			  SQLSMALLINT * Scale,
-			  SQLSMALLINT * Nullable);
-
-SQLRETURN SQLGetDiagField(SQLSMALLINT HandleType,
-				SQLINTEGER Handle,
-				SQLSMALLINT RecordNumber,
-				SQLSMALLINT DiagIdentifier,
-				SQLPOINTER DiagInfo,
-				SQLSMALLINT BufferLength,
-				SQLSMALLINT * StringLength);
-
-
-SQLRETURN SQLGetDiagRec(SQLSMALLINT HandleType,
-			  SQLINTEGER Handle,
-			  SQLSMALLINT RecordNumber,
-			  SQLCHAR * Sqlstate,
-			  SQLINTEGER * NativeError,
-			  SQLCHAR * MessageText,
-			  SQLSMALLINT BufferLength,
-			  SQLSMALLINT * StringLength);
-
-SQLRETURN SQLGetEnvAttr(SQLHENV EnvironmentHandle,
-			  SQLINTEGER Attribute,
-			  SQLPOINTER Value,
-			  SQLINTEGER BufferLength,
-			  SQLINTEGER * StringLength);
-
-SQLRETURN SQLGetFunctions(SQLHDBC ConnectionHandle,
-				SQLSMALLINT FunctionId,
-				SQLSMALLINT * Supported);
-
-SQLRETURN SQLGetInfo(SQLHDBC ConnectionHandle,
-		   SQLSMALLINT InfoType,
-		   SQLPOINTER InfoValue,
-		   SQLSMALLINT BufferLength,
-		   SQLSMALLINT * StringLength);
-
-SQLRETURN SQLGetStmtAttr(SQLHSTMT StatementHandle,
-			   SQLINTEGER Attribute,
-			   SQLPOINTER Value,
-			   SQLINTEGER BufferLength,
-			   SQLINTEGER * StringLength);
-
-SQLRETURN SQLGetTypeInfo(SQLHSTMT StatementHandle,
-			   SQLSMALLINT DataType);
-
-SQLRETURN SQLNumResultCols(SQLHSTMT StatementHandle,
-				 SQLINTEGER * ColumnCount);
-
-SQLRETURN SQLParamData(SQLHSTMT StatementHandle,
-			 SQLPOINTER * Value);
-
-SQLRETURN SQLPrepare(SQLHSTMT StatementHandle,
-		   SQLCHAR * StatementText,
-		   SQLSMALLINT StringLength);
-
-
-SQLRETURN SQLPutData(SQLHSTMT StatementHandle,
-		   SQLPOINTER Data,
-		   SQLINTEGER StringLength);
-
-SQLRETURN SQLRowCount(SQLHSTMT StatementHandle,
-			SQLINTEGER * RowCount);
-
-SQLRETURN SQLSetConnectAttr(SQLHDBC ConnectionHandle,
-				  SQLINTEGER AttributeCursorName,
-				  SQLPOINTER Value,
-				  SQLINTEGER StringLength);
-
-SQLRETURN SQLSetCursorName(SQLHSTMT StatementHandle,
-				 SQLCHAR * CursorName,
-				 SQLSMALLINT NameLength);
-
-SQLRETURN SQLSetDescField(SQLHDESC DescriptorHandle,
-				SQLSMALLINT RecordNumber,
-				SQLSMALLINT FieldIdentifier,
-				SQLPOINTER Value, SQLINTEGER BufferLength);
-
-SQLRETURN SQLSetDescRec(SQLHDESC DescriptorHandle,
-			  SQLSMALLINT RecordNumber,
-			  SQLSMALLINT Type,
-			  SQLSMALLINT SubType,
-			  SQLINTEGER Length,
-			  SQLSMALLINT Precision,
-			  SQLSMALLINT Scale,
-			  SQLPOINTER Data,
-			  SQLINTEGER * StringLength,
-			  SQLSMALLINT * Indicator);
-
-SQLRETURN SQLSetEnvAttr(SQLHENV EnvironmentHandle,
-			  SQLINTEGER Attribute,
-			  SQLPOINTER Value,
-			  SQLINTEGER StringLength);
-
-SQLRETURN SQLSetStmtAttr(SQLHSTMT StatementHandle,
-			   SQLINTEGER Attribute,
-			   SQLPOINTER Value,
-			   SQLINTEGER StringLength);
-
-/* These are in SQL3 from August 1994
- * but not in Date and Darwen, 1997
- * - Thomas Lockhart 1999-06-17
-
-SQLRETURN  SQLLanguages(SQLHSTMT StatementHandle);
-
-SQLRETURN  SQLReleaseEnv(SQLHENV EnvironmentHandle);
-
-SQLRETURN  SQLScrollFetch(SQLHSTMT StatementHandle,
-			  SQLINTEGER FetchOrientation,
-			  SQLINTEGER FetchOffset);
-*/
-- 
GitLab