summaryrefslogtreecommitdiff
path: root/innobase/include/ib_odbc.h
diff options
context:
space:
mode:
Diffstat (limited to 'innobase/include/ib_odbc.h')
-rw-r--r--innobase/include/ib_odbc.h149
1 files changed, 149 insertions, 0 deletions
diff --git a/innobase/include/ib_odbc.h b/innobase/include/ib_odbc.h
new file mode 100644
index 00000000000..86884b41d39
--- /dev/null
+++ b/innobase/include/ib_odbc.h
@@ -0,0 +1,149 @@
+/******************************************************
+Innobase ODBC client library header; this is equivalent to
+the standard sql.h ODBC header file
+
+(c) 1998 Innobase Oy
+
+Created 2/22/1998 Heikki Tuuri
+*******************************************************/
+
+#ifndef ib_odbc_h
+#define ib_odbc_h
+
+typedef unsigned char UCHAR;
+typedef signed char SCHAR;
+typedef long int SDWORD;
+typedef short int SWORD;
+typedef unsigned long int UDWORD;
+typedef unsigned short int UWORD;
+
+typedef void* PTR;
+
+typedef void* HENV;
+typedef void* HDBC;
+typedef void* HSTMT;
+
+typedef signed short RETCODE;
+
+/* RETCODEs */
+#define SQL_NO_DATA_FOUND (-3)
+#define SQL_INVALID_HANDLE (-2)
+#define SQL_ERROR (-1)
+#define SQL_SUCCESS 0
+
+/* Standard SQL datatypes, using ANSI type numbering */
+#define SQL_CHAR 1
+#define SQL_INTEGER 4
+#define SQL_VARCHAR 12
+
+/* C datatype to SQL datatype mapping */
+#define SQL_C_CHAR SQL_CHAR
+#define SQL_C_LONG SQL_INTEGER
+
+/* Special length value */
+#define SQL_NULL_DATA (-1)
+
+#define SQL_PARAM_INPUT 1
+#define SQL_PARAM_OUTPUT 4
+
+/* Null handles */
+#define SQL_NULL_HENV NULL
+#define SQL_NULL_HDBC NULL
+#define SQL_NULL_HSTM NULL
+
+
+/**************************************************************************
+Allocates an SQL environment. */
+
+RETCODE
+SQLAllocEnv(
+/*========*/
+ /* out: SQL_SUCCESS */
+ HENV* phenv); /* out: pointer to an environment handle */
+/**************************************************************************
+Allocates an SQL connection. */
+
+RETCODE
+SQLAllocConnect(
+/*============*/
+ /* out: SQL_SUCCESS */
+ HENV henv, /* in: pointer to an environment handle */
+ HDBC* phdbc); /* out: pointer to a connection handle */
+/**************************************************************************
+Allocates an SQL statement. */
+
+RETCODE
+SQLAllocStmt(
+/*=========*/
+ HDBC hdbc, /* in: SQL connection */
+ HSTMT* phstmt); /* out: pointer to a statement handle */
+/**************************************************************************
+Connects to a database server process (establishes a connection and a
+session). */
+
+RETCODE
+SQLConnect(
+/*=======*/
+ /* out: SQL_SUCCESS */
+ HDBC hdbc, /* in: SQL connection handle */
+ UCHAR* szDSN, /* in: data source name (server name) */
+ SWORD cbDSN, /* in: data source name length */
+ UCHAR* szUID, /* in: user name */
+ SWORD cbUID, /* in: user name length */
+ UCHAR* szAuthStr, /* in: password */
+ SWORD cbAuthStr); /* in: password length */
+/**************************************************************************
+Makes the server to parse and optimize an SQL string. */
+
+RETCODE
+SQLPrepare(
+/*=======*/
+ /* out: SQL_SUCCESS */
+ HSTMT hstmt, /* in: statement handle */
+ UCHAR* szSqlStr, /* in: SQL string */
+ SDWORD cbSqlStr); /* in: SQL string length */
+/**************************************************************************
+Binds a parameter in a prepared statement. */
+
+RETCODE
+SQLBindParameter(
+/*=============*/
+ /* out: SQL_SUCCESS */
+ HSTMT hstmt, /* in: statement handle */
+ UWORD ipar, /* in: parameter index, starting from 1 */
+ SWORD fParamType, /* in: SQL_PARAM_INPUT or SQL_PARAM_OUTPUT */
+ SWORD fCType, /* in: SQL_C_CHAR, ... */
+ SWORD fSqlType, /* in: SQL_CHAR, ... */
+ UDWORD cbColDef, /* in: precision: ignored */
+ SWORD ibScale, /* in: scale: ignored */
+ PTR rgbValue, /* in: pointer to a buffer for the data */
+ SDWORD cbValueMax, /* in: buffer size */
+ SDWORD* pcbValue); /* in: pointer to a buffer for the data
+ length or SQL_NULL_DATA */
+/**************************************************************************
+Executes a prepared statement where all parameters have been bound. */
+
+RETCODE
+SQLExecute(
+/*=======*/
+ /* out: SQL_SUCCESS or SQL_ERROR */
+ HSTMT hstmt); /* in: statement handle */
+/**************************************************************************
+Queries an error message. */
+
+RETCODE
+SQLError(
+/*=====*/
+ /* out: SQL_SUCCESS or SQL_NO_DATA_FOUND */
+ HENV henv, /* in: SQL_NULL_HENV */
+ HDBC hdbc, /* in: SQL_NULL_HDBC */
+ HSTMT hstmt, /* in: statement handle */
+ UCHAR* szSqlState, /* in/out: SQLSTATE as a null-terminated string,
+ (currently, always == "S1000") */
+ SDWORD* pfNativeError, /* out: native error code */
+ UCHAR* szErrorMsg, /* in/out: buffer for an error message as a
+ null-terminated string */
+ SWORD cbErrorMsgMax, /* in: buffer size for szErrorMsg */
+ SWORD* pcbErrorMsg); /* out: error message length */
+
+#endif