提交 c2f5d08c 编写于 作者: H Hiroshi Inoue

Fix a lot of compile errors on unix.

Fix '\\' handling for bytea type.
上级 18529514
......@@ -2,7 +2,7 @@
#
# GNUMakefile for psqlodbc (Postgres ODBC driver)
#
# $Header: /cvsroot/pgsql/src/interfaces/odbc/Attic/GNUmakefile,v 1.16 2001/05/11 01:46:33 momjian Exp $
# $Header: /cvsroot/pgsql/src/interfaces/odbc/Attic/GNUmakefile,v 1.17 2001/08/21 05:21:09 inoue Exp $
#
#-------------------------------------------------------------------------
......@@ -21,7 +21,7 @@ override CPPFLAGS := -I$(srcdir) $(CPPFLAGS) -DHAVE_CONFIG_H -DODBCINSTDIR='"$(o
OBJS = info.o bind.o columninfo.o connection.o convert.o drvconn.o \
environ.o execute.o lobj.o misc.o options.o \
pgtypes.o psqlodbc.o qresult.o results.o socket.o parse.o statement.o \
gpps.o tuple.o tuplelist.o dlg_specific.o $(OBJX)
gpps.o tuple.o tuplelist.o dlg_specific.o odbcapi.o $(OBJX)
ifdef MULTIBYTE
OBJS += multibyte.o
......
......@@ -1968,10 +1968,18 @@ convert_from_pgbinary(unsigned char *value, unsigned char *rgbValue, int cbValue
for (i = 0; i < ilen;)
{
if (value[i] == '\\')
{
if (value[i + 1] == '\\')
{
rgbValue[o] = value[i];
i += 2;
}
else
{
rgbValue[o] = conv_from_octal(&value[i]);
i += 4;
}
}
else
rgbValue[o] = value[i++];
mylog("convert_from_pgbinary: i=%d, rgbValue[%d] = %d, %c\n", i, o, rgbValue[o], rgbValue[o]);
......
......@@ -682,7 +682,6 @@ PGAPI_GetInfo(
break;
default:
return PGAPI_GetInfo30(hdbc, fInfoType, rgbInfoValue, cbInfoValueMax,pcbInfoValue);
/* unrecognized key */
conn->errormsg = "Unrecognized key passed to PGAPI_GetInfo.";
conn->errornumber = CONN_NOT_IMPLEMENTED_ERROR;
......
......@@ -26,7 +26,7 @@ typedef signed short RETCODE;
#define SQL_API EXPORT CALLBACK
#endif
#define ODBCVER 0x0250
/*#define ODBCVER 0x0250 */
#define SQL_MAX_MESSAGE_LENGTH 512
#define SQL_MAX_DSN_LENGTH 32
......
......@@ -31,8 +31,10 @@
#endif
#include "psqlodbc.h"
#ifdef WIN32
#undef ODBCVER
#define ODBCVER 0x3000
#endif
#include <stdio.h>
#include <string.h>
......@@ -47,29 +49,29 @@
#include "connection.h"
#include "statement.h"
SQLRETURN SQL_API SQLAllocConnect(SQLHENV EnvironmentHandle,
SQLHDBC *ConnectionHandle)
RETCODE SQL_API SQLAllocConnect(HENV EnvironmentHandle,
HDBC FAR *ConnectionHandle)
{
mylog("[SQLAllocConnect]");
return PGAPI_AllocConnect(EnvironmentHandle, ConnectionHandle);
}
SQLRETURN SQL_API SQLAllocEnv(SQLHENV *EnvironmentHandle)
RETCODE SQL_API SQLAllocEnv(HENV FAR *EnvironmentHandle)
{
mylog("[SQLAllocEnv]");
return PGAPI_AllocEnv(EnvironmentHandle);
}
SQLRETURN SQL_API SQLAllocStmt(SQLHDBC ConnectionHandle,
SQLHSTMT *StatementHandle)
RETCODE SQL_API SQLAllocStmt(HDBC ConnectionHandle,
HSTMT *StatementHandle)
{
mylog("[SQLAllocStmt]");
return PGAPI_AllocStmt(ConnectionHandle, StatementHandle);
}
SQLRETURN SQL_API SQLBindCol(SQLHSTMT StatementHandle,
RETCODE SQL_API SQLBindCol(HSTMT StatementHandle,
SQLUSMALLINT ColumnNumber, SQLSMALLINT TargetType,
SQLPOINTER TargetValue, SQLINTEGER BufferLength,
PTR TargetValue, SQLINTEGER BufferLength,
SQLINTEGER *StrLen_or_Ind)
{
mylog("[SQLBindCol]");
......@@ -77,13 +79,13 @@ SQLRETURN SQL_API SQLBindCol(SQLHSTMT StatementHandle,
TargetType, TargetValue, BufferLength, StrLen_or_Ind);
}
SQLRETURN SQL_API SQLCancel(SQLHSTMT StatementHandle)
RETCODE SQL_API SQLCancel(HSTMT StatementHandle)
{
mylog("[SQLCancel]");
return PGAPI_Cancel(StatementHandle);
}
SQLRETURN SQL_API SQLColumns(SQLHSTMT StatementHandle,
RETCODE SQL_API SQLColumns(HSTMT StatementHandle,
SQLCHAR *CatalogName, SQLSMALLINT NameLength1,
SQLCHAR *SchemaName, SQLSMALLINT NameLength2,
SQLCHAR *TableName, SQLSMALLINT NameLength3,
......@@ -96,7 +98,7 @@ SQLRETURN SQL_API SQLColumns(SQLHSTMT StatementHandle,
}
SQLRETURN SQL_API SQLConnect(SQLHDBC ConnectionHandle,
RETCODE SQL_API SQLConnect(HDBC ConnectionHandle,
SQLCHAR *ServerName, SQLSMALLINT NameLength1,
SQLCHAR *UserName, SQLSMALLINT NameLength2,
SQLCHAR *Authentication, SQLSMALLINT NameLength3)
......@@ -106,7 +108,7 @@ SQLRETURN SQL_API SQLConnect(SQLHDBC ConnectionHandle,
UserName, NameLength2, Authentication, NameLength3);
}
SQLRETURN SQL_API SQLDriverConnect(HDBC hdbc,
RETCODE SQL_API SQLDriverConnect(HDBC hdbc,
HWND hwnd,
UCHAR FAR *szConnStrIn,
SWORD cbConnStrIn,
......@@ -119,8 +121,8 @@ SQLRETURN SQL_API SQLDriverConnect(HDBC hdbc,
return PGAPI_DriverConnect(hdbc, hwnd, szConnStrIn, cbConnStrIn,
szConnStrOut, cbConnStrOutMax, pcbConnStrOut, fDriverCompletion);
}
SQLRETURN SQL_API SQLBrowseConnect(
SQLHDBC hdbc,
RETCODE SQL_API SQLBrowseConnect(
HDBC hdbc,
SQLCHAR *szConnStrIn,
SQLSMALLINT cbConnStrIn,
SQLCHAR *szConnStrOut,
......@@ -132,7 +134,7 @@ SQLRETURN SQL_API SQLBrowseConnect(
szConnStrOut, cbConnStrOutMax, pcbConnStrOut);
}
SQLRETURN SQL_API SQLDataSources(SQLHENV EnvironmentHandle,
RETCODE SQL_API SQLDataSources(HENV EnvironmentHandle,
SQLUSMALLINT Direction, SQLCHAR *ServerName,
SQLSMALLINT BufferLength1, SQLSMALLINT *NameLength1,
SQLCHAR *Description, SQLSMALLINT BufferLength2,
......@@ -147,7 +149,7 @@ SQLRETURN SQL_API SQLDataSources(SQLHENV EnvironmentHandle,
return SQL_ERROR;
}
SQLRETURN SQL_API SQLDescribeCol(SQLHSTMT StatementHandle,
RETCODE SQL_API SQLDescribeCol(HSTMT StatementHandle,
SQLUSMALLINT ColumnNumber, SQLCHAR *ColumnName,
SQLSMALLINT BufferLength, SQLSMALLINT *NameLength,
SQLSMALLINT *DataType, SQLUINTEGER *ColumnSize,
......@@ -159,14 +161,14 @@ SQLRETURN SQL_API SQLDescribeCol(SQLHSTMT StatementHandle,
DataType, ColumnSize, DecimalDigits, Nullable);
}
SQLRETURN SQL_API SQLDisconnect(SQLHDBC ConnectionHandle)
RETCODE SQL_API SQLDisconnect(HDBC ConnectionHandle)
{
mylog("[SQLDisconnect]");
return PGAPI_Disconnect(ConnectionHandle);
}
SQLRETURN SQL_API SQLError(SQLHENV EnvironmentHandle,
SQLHDBC ConnectionHandle, SQLHSTMT StatementHandle,
RETCODE SQL_API SQLError(HENV EnvironmentHandle,
HDBC ConnectionHandle, HSTMT StatementHandle,
SQLCHAR *Sqlstate, SQLINTEGER *NativeError,
SQLCHAR *MessageText, SQLSMALLINT BufferLength,
SQLSMALLINT *TextLength)
......@@ -176,20 +178,20 @@ SQLRETURN SQL_API SQLError(SQLHENV EnvironmentHandle,
Sqlstate, NativeError, MessageText, BufferLength, TextLength);
}
SQLRETURN SQL_API SQLExecDirect(SQLHSTMT StatementHandle,
RETCODE SQL_API SQLExecDirect(HSTMT StatementHandle,
SQLCHAR *StatementText, SQLINTEGER TextLength)
{
mylog("[SQLExecDirect]");
return PGAPI_ExecDirect(StatementHandle, StatementText, TextLength);
}
SQLRETURN SQL_API SQLExecute(SQLHSTMT StatementHandle)
RETCODE SQL_API SQLExecute(HSTMT StatementHandle)
{
mylog("[SQLExecute]");
return PGAPI_Execute(StatementHandle);
}
SQLRETURN SQL_API SQLFetch(SQLHSTMT StatementHandle)
RETCODE SQL_API SQLFetch(HSTMT StatementHandle)
{
static char *func = "SQLFetch";
#if (ODBCVER >= 0x3000)
......@@ -209,32 +211,32 @@ SQLRETURN SQL_API SQLFetch(SQLHSTMT StatementHandle)
return PGAPI_Fetch(StatementHandle);
}
SQLRETURN SQL_API SQLFreeConnect(SQLHDBC ConnectionHandle)
RETCODE SQL_API SQLFreeConnect(HDBC ConnectionHandle)
{
mylog("[SQLFreeStmt]");
return PGAPI_FreeConnect(ConnectionHandle);
}
SQLRETURN SQL_API SQLFreeEnv(SQLHENV EnvironmentHandle)
RETCODE SQL_API SQLFreeEnv(HENV EnvironmentHandle)
{
mylog("[SQLFreeEnv]");
return PGAPI_FreeEnv(EnvironmentHandle);
}
SQLRETURN SQL_API SQLFreeStmt(SQLHSTMT StatementHandle,
RETCODE SQL_API SQLFreeStmt(HSTMT StatementHandle,
SQLUSMALLINT Option)
{
mylog("[SQLFreeStmt]");
return PGAPI_FreeStmt(StatementHandle, Option);
}
SQLRETURN SQL_API SQLGetConnectOption(SQLHDBC ConnectionHandle,
SQLUSMALLINT Option, SQLPOINTER Value)
RETCODE SQL_API SQLGetConnectOption(HDBC ConnectionHandle,
SQLUSMALLINT Option, PTR Value)
{
mylog("[SQLGetConnectOption]");
return PGAPI_GetConnectOption(ConnectionHandle, Option, Value);
}
SQLRETURN SQL_API SQLGetCursorName(SQLHSTMT StatementHandle,
RETCODE SQL_API SQLGetCursorName(HSTMT StatementHandle,
SQLCHAR *CursorName, SQLSMALLINT BufferLength,
SQLSMALLINT *NameLength)
{
......@@ -243,9 +245,9 @@ SQLRETURN SQL_API SQLGetCursorName(SQLHSTMT StatementHandle,
NameLength);
}
SQLRETURN SQL_API SQLGetData(SQLHSTMT StatementHandle,
RETCODE SQL_API SQLGetData(HSTMT StatementHandle,
SQLUSMALLINT ColumnNumber, SQLSMALLINT TargetType,
SQLPOINTER TargetValue, SQLINTEGER BufferLength,
PTR TargetValue, SQLINTEGER BufferLength,
SQLINTEGER *StrLen_or_Ind)
{
mylog("[SQLGetData]");
......@@ -253,7 +255,7 @@ SQLRETURN SQL_API SQLGetData(SQLHSTMT StatementHandle,
TargetValue, BufferLength, StrLen_or_Ind);
}
SQLRETURN SQL_API SQLGetFunctions(SQLHDBC ConnectionHandle,
RETCODE SQL_API SQLGetFunctions(HDBC ConnectionHandle,
SQLUSMALLINT FunctionId, SQLUSMALLINT *Supported)
{
mylog("[SQLGetFunctions");
......@@ -263,82 +265,93 @@ SQLRETURN SQL_API SQLGetFunctions(SQLHDBC ConnectionHandle,
#endif
return PGAPI_GetFunctions(ConnectionHandle, FunctionId, Supported);
}
SQLRETURN SQL_API SQLGetInfo(SQLHDBC ConnectionHandle,
SQLUSMALLINT InfoType, SQLPOINTER InfoValue,
RETCODE SQL_API SQLGetInfo(HDBC ConnectionHandle,
SQLUSMALLINT InfoType, PTR InfoValue,
SQLSMALLINT BufferLength, SQLSMALLINT *StringLength)
{
#if (ODBCVER >= 0x3000)
RETCODE ret;
mylog("[SQLGetInfo(30)]");
if ((ret = PGAPI_GetInfo(ConnectionHandle, InfoType, InfoValue,
BufferLength, StringLength)) == SQL_ERROR)
return PGAPI_GetInfo30(ConnectionHandle, InfoType, InfoValue,
BufferLength, StringLength);
else
return ret;
#else
mylog("[SQLGetInfo]");
return PGAPI_GetInfo(ConnectionHandle, InfoType, InfoValue,
BufferLength, StringLength);
#endif
}
SQLRETURN SQL_API SQLGetStmtOption(SQLHSTMT StatementHandle,
SQLUSMALLINT Option, SQLPOINTER Value)
RETCODE SQL_API SQLGetStmtOption(HSTMT StatementHandle,
SQLUSMALLINT Option, PTR Value)
{
mylog("[SQLGetStmtOption]");
return PGAPI_GetStmtOption(StatementHandle, Option, Value);
}
SQLRETURN SQL_API SQLGetTypeInfo(SQLHSTMT StatementHandle,
RETCODE SQL_API SQLGetTypeInfo(HSTMT StatementHandle,
SQLSMALLINT DataType)
{
mylog("[SQLGetTypeInfo]");
return PGAPI_GetTypeInfo(StatementHandle,DataType);
}
SQLRETURN SQL_API SQLNumResultCols(SQLHSTMT StatementHandle,
RETCODE SQL_API SQLNumResultCols(HSTMT StatementHandle,
SQLSMALLINT *ColumnCount)
{
mylog("[SQLNumResultCols]");
return PGAPI_NumResultCols(StatementHandle, ColumnCount);
}
SQLRETURN SQL_API SQLParamData(SQLHSTMT StatementHandle,
SQLPOINTER *Value)
RETCODE SQL_API SQLParamData(HSTMT StatementHandle,
PTR *Value)
{
mylog("[SQLParamData]");
return PGAPI_ParamData(StatementHandle, Value);
}
SQLRETURN SQL_API SQLPrepare(SQLHSTMT StatementHandle,
RETCODE SQL_API SQLPrepare(HSTMT StatementHandle,
SQLCHAR *StatementText, SQLINTEGER TextLength)
{
mylog("[SQLPrepare]");
return PGAPI_Prepare(StatementHandle, StatementText, TextLength);
}
SQLRETURN SQL_API SQLPutData(SQLHSTMT StatementHandle,
SQLPOINTER Data, SQLINTEGER StrLen_or_Ind)
RETCODE SQL_API SQLPutData(HSTMT StatementHandle,
PTR Data, SQLINTEGER StrLen_or_Ind)
{
mylog("[SQLPutData]");
return PGAPI_PutData(StatementHandle, Data, StrLen_or_Ind);
}
SQLRETURN SQL_API SQLRowCount(SQLHSTMT StatementHandle,
RETCODE SQL_API SQLRowCount(HSTMT StatementHandle,
SQLINTEGER *RowCount)
{
mylog("[SQLRowCount]");
return PGAPI_RowCount(StatementHandle, RowCount);
}
SQLRETURN SQL_API SQLSetConnectOption(SQLHDBC ConnectionHandle,
RETCODE SQL_API SQLSetConnectOption(HDBC ConnectionHandle,
SQLUSMALLINT Option, SQLUINTEGER Value)
{
mylog("[SQLSetConnectionOption]");
return PGAPI_SetConnectOption(ConnectionHandle, Option, Value);
}
SQLRETURN SQL_API SQLSetCursorName(SQLHSTMT StatementHandle,
RETCODE SQL_API SQLSetCursorName(HSTMT StatementHandle,
SQLCHAR *CursorName, SQLSMALLINT NameLength)
{
mylog("[SQLSetCursorName]");
return PGAPI_SetCursorName(StatementHandle, CursorName, NameLength);
}
SQLRETURN SQL_API SQLSetParam(SQLHSTMT StatementHandle,
RETCODE SQL_API SQLSetParam(HSTMT StatementHandle,
SQLUSMALLINT ParameterNumber, SQLSMALLINT ValueType,
SQLSMALLINT ParameterType, SQLUINTEGER LengthPrecision,
SQLSMALLINT ParameterScale, SQLPOINTER ParameterValue,
SQLSMALLINT ParameterScale, PTR ParameterValue,
SQLINTEGER *StrLen_or_Ind)
{
mylog("[SQLSetParam]");
......@@ -350,14 +363,14 @@ SQLRETURN SQL_API SQLSetParam(SQLHSTMT StatementHandle,
return SQL_ERROR;
}
SQLRETURN SQL_API SQLSetStmtOption(SQLHSTMT StatementHandle,
RETCODE SQL_API SQLSetStmtOption(HSTMT StatementHandle,
SQLUSMALLINT Option, SQLUINTEGER Value)
{
mylog("[SQLSetStmtOption]");
return PGAPI_SetStmtOption(StatementHandle, Option, Value);
}
SQLRETURN SQL_API SQLSpecialColumns(SQLHSTMT StatementHandle,
RETCODE SQL_API SQLSpecialColumns(HSTMT StatementHandle,
SQLUSMALLINT IdentifierType, SQLCHAR *CatalogName,
SQLSMALLINT NameLength1, SQLCHAR *SchemaName,
SQLSMALLINT NameLength2, SQLCHAR *TableName,
......@@ -370,7 +383,7 @@ SQLRETURN SQL_API SQLSpecialColumns(SQLHSTMT StatementHandle,
Scope, Nullable);
}
SQLRETURN SQL_API SQLStatistics(SQLHSTMT StatementHandle,
RETCODE SQL_API SQLStatistics(HSTMT StatementHandle,
SQLCHAR *CatalogName, SQLSMALLINT NameLength1,
SQLCHAR *SchemaName, SQLSMALLINT NameLength2,
SQLCHAR *TableName, SQLSMALLINT NameLength3,
......@@ -382,7 +395,7 @@ SQLRETURN SQL_API SQLStatistics(SQLHSTMT StatementHandle,
Reserved);
}
SQLRETURN SQL_API SQLTables(SQLHSTMT StatementHandle,
RETCODE SQL_API SQLTables(HSTMT StatementHandle,
SQLCHAR *CatalogName, SQLSMALLINT NameLength1,
SQLCHAR *SchemaName, SQLSMALLINT NameLength2,
SQLCHAR *TableName, SQLSMALLINT NameLength3,
......@@ -394,18 +407,18 @@ SQLRETURN SQL_API SQLTables(SQLHSTMT StatementHandle,
TableType, NameLength4);
}
SQLRETURN SQL_API SQLTransact(SQLHENV EnvironmentHandle,
SQLHDBC ConnectionHandle, SQLUSMALLINT CompletionType)
RETCODE SQL_API SQLTransact(HENV EnvironmentHandle,
HDBC ConnectionHandle, SQLUSMALLINT CompletionType)
{
mylog("[SQLTransact]");
return PGAPI_Transact(EnvironmentHandle, ConnectionHandle, CompletionType);
}
SQLRETURN SQL_API SQLColAttributes(
SQLHSTMT hstmt,
RETCODE SQL_API SQLColAttributes(
HSTMT hstmt,
SQLUSMALLINT icol,
SQLUSMALLINT fDescType,
SQLPOINTER rgbDesc,
PTR rgbDesc,
SQLSMALLINT cbDescMax,
SQLSMALLINT *pcbDesc,
SQLINTEGER *pfDesc)
......@@ -415,8 +428,8 @@ SQLRETURN SQL_API SQLColAttributes(
cbDescMax, pcbDesc, pfDesc);
}
SQLRETURN SQL_API SQLColumnPrivileges(
SQLHSTMT hstmt,
RETCODE SQL_API SQLColumnPrivileges(
HSTMT hstmt,
SQLCHAR *szCatalogName,
SQLSMALLINT cbCatalogName,
SQLCHAR *szSchemaName,
......@@ -432,8 +445,8 @@ SQLRETURN SQL_API SQLColumnPrivileges(
szColumnName, cbColumnName);
}
SQLRETURN SQL_API SQLDescribeParam(
SQLHSTMT hstmt,
RETCODE SQL_API SQLDescribeParam(
HSTMT hstmt,
SQLUSMALLINT ipar,
SQLSMALLINT *pfSqlType,
SQLUINTEGER *pcbParamDef,
......@@ -445,8 +458,8 @@ SQLRETURN SQL_API SQLDescribeParam(
pibScale, pfNullable);
}
SQLRETURN SQL_API SQLExtendedFetch(
SQLHSTMT hstmt,
RETCODE SQL_API SQLExtendedFetch(
HSTMT hstmt,
SQLUSMALLINT fFetchType,
SQLINTEGER irow,
SQLUINTEGER *pcrow,
......@@ -456,8 +469,8 @@ SQLRETURN SQL_API SQLExtendedFetch(
return PGAPI_ExtendedFetch(hstmt, fFetchType, irow, pcrow, rgfRowStatus);
}
SQLRETURN SQL_API SQLForeignKeys(
SQLHSTMT hstmt,
RETCODE SQL_API SQLForeignKeys(
HSTMT hstmt,
SQLCHAR *szPkCatalogName,
SQLSMALLINT cbPkCatalogName,
SQLCHAR *szPkSchemaName,
......@@ -478,14 +491,14 @@ SQLRETURN SQL_API SQLForeignKeys(
szFkSchemaName, cbFkSchemaName, szFkTableName, cbFkTableName);
}
SQLRETURN SQL_API SQLMoreResults(SQLHSTMT hstmt)
RETCODE SQL_API SQLMoreResults(HSTMT hstmt)
{
mylog("[SQLMoreResults]");
return PGAPI_MoreResults(hstmt);
}
SQLRETURN SQL_API SQLNativeSql(
SQLHDBC hdbc,
RETCODE SQL_API SQLNativeSql(
HDBC hdbc,
SQLCHAR *szSqlStrIn,
SQLINTEGER cbSqlStrIn,
SQLCHAR *szSqlStr,
......@@ -497,16 +510,16 @@ SQLRETURN SQL_API SQLNativeSql(
cbSqlStrMax, pcbSqlStr);
}
SQLRETURN SQL_API SQLNumParams(
SQLHSTMT hstmt,
RETCODE SQL_API SQLNumParams(
HSTMT hstmt,
SQLSMALLINT *pcpar)
{
mylog("[SQLNumParams]");
return PGAPI_NumParams(hstmt, pcpar);
}
SQLRETURN SQL_API SQLParamOptions(
SQLHSTMT hstmt,
RETCODE SQL_API SQLParamOptions(
HSTMT hstmt,
SQLUINTEGER crow,
SQLUINTEGER *pirow)
{
......@@ -514,8 +527,8 @@ SQLRETURN SQL_API SQLParamOptions(
return PGAPI_ParamOptions(hstmt, crow, pirow);
}
SQLRETURN SQL_API SQLPrimaryKeys(
SQLHSTMT hstmt,
RETCODE SQL_API SQLPrimaryKeys(
HSTMT hstmt,
SQLCHAR *szCatalogName,
SQLSMALLINT cbCatalogName,
SQLCHAR *szSchemaName,
......@@ -528,8 +541,8 @@ SQLRETURN SQL_API SQLPrimaryKeys(
szSchemaName, cbSchemaName, szTableName, cbTableName);
}
SQLRETURN SQL_API SQLProcedureColumns(
SQLHSTMT hstmt,
RETCODE SQL_API SQLProcedureColumns(
HSTMT hstmt,
SQLCHAR *szCatalogName,
SQLSMALLINT cbCatalogName,
SQLCHAR *szSchemaName,
......@@ -545,8 +558,8 @@ SQLRETURN SQL_API SQLProcedureColumns(
szColumnName, cbColumnName);
}
SQLRETURN SQL_API SQLProcedures(
SQLHSTMT hstmt,
RETCODE SQL_API SQLProcedures(
HSTMT hstmt,
SQLCHAR *szCatalogName,
SQLSMALLINT cbCatalogName,
SQLCHAR *szSchemaName,
......@@ -559,8 +572,8 @@ SQLRETURN SQL_API SQLProcedures(
szSchemaName, cbSchemaName, szProcName, cbProcName);
}
SQLRETURN SQL_API SQLSetPos(
SQLHSTMT hstmt,
RETCODE SQL_API SQLSetPos(
HSTMT hstmt,
SQLUSMALLINT irow,
SQLUSMALLINT fOption,
SQLUSMALLINT fLock)
......@@ -569,8 +582,8 @@ SQLRETURN SQL_API SQLSetPos(
return PGAPI_SetPos(hstmt, irow, fOption, fLock);
}
SQLRETURN SQL_API SQLTablePrivileges(
SQLHSTMT hstmt,
RETCODE SQL_API SQLTablePrivileges(
HSTMT hstmt,
SQLCHAR *szCatalogName,
SQLSMALLINT cbCatalogName,
SQLCHAR *szSchemaName,
......@@ -583,15 +596,15 @@ SQLRETURN SQL_API SQLTablePrivileges(
szSchemaName, cbSchemaName, szTableName, cbTableName);
}
SQLRETURN SQL_API SQLBindParameter(
SQLHSTMT hstmt,
RETCODE SQL_API SQLBindParameter(
HSTMT hstmt,
SQLUSMALLINT ipar,
SQLSMALLINT fParamType,
SQLSMALLINT fCType,
SQLSMALLINT fSqlType,
SQLUINTEGER cbColDef,
SQLSMALLINT ibScale,
SQLPOINTER rgbValue,
PTR rgbValue,
SQLINTEGER cbValueMax,
SQLINTEGER *pcbValue)
{
......
......@@ -41,7 +41,7 @@
#include "pgapifunc.h"
/* SQLAllocConnect/SQLAllocEnv/SQLAllocStmt -> SQLAllocHandle */
SQLRETURN SQL_API SQLAllocHandle(SQLSMALLINT HandleType,
RETCODE SQL_API SQLAllocHandle(SQLSMALLINT HandleType,
SQLHANDLE InputHandle, SQLHANDLE *OutputHandle)
{
mylog("[[SQLAllocHandle]]");
......@@ -58,10 +58,10 @@ SQLRETURN SQL_API SQLAllocHandle(SQLSMALLINT HandleType,
return SQL_ERROR;
}
/* SQLBindParameter/SQLSetParam -> SQLBindParam */
SQLRETURN SQL_API SQLBindParam(SQLHSTMT StatementHandle,
RETCODE SQL_API SQLBindParam(HSTMT StatementHandle,
SQLUSMALLINT ParameterNumber, SQLSMALLINT ValueType,
SQLSMALLINT ParameterType, SQLUINTEGER LengthPrecision,
SQLSMALLINT ParameterScale, SQLPOINTER ParameterValue,
SQLSMALLINT ParameterScale, PTR ParameterValue,
SQLINTEGER *StrLen_or_Ind)
{
int BufferLength = 512; /* Is it OK ? */
......@@ -69,17 +69,17 @@ SQLRETURN SQL_API SQLBindParam(SQLHSTMT StatementHandle,
return PGAPI_BindParameter(StatementHandle, ParameterNumber, SQL_PARAM_INPUT, ValueType, ParameterType, LengthPrecision, ParameterScale, ParameterValue, BufferLength, StrLen_or_Ind);
}
/* New function */
SQLRETURN SQL_API SQLCloseCursor(SQLHSTMT StatementHandle)
RETCODE SQL_API SQLCloseCursor(HSTMT StatementHandle)
{
mylog("[[SQLCloseCursor]]");
return PGAPI_FreeStmt(StatementHandle, SQL_CLOSE);
}
/* SQLColAttributes -> SQLColAttribute */
SQLRETURN SQL_API SQLColAttribute (SQLHSTMT StatementHandle,
RETCODE SQL_API SQLColAttribute (HSTMT StatementHandle,
SQLUSMALLINT ColumnNumber, SQLUSMALLINT FieldIdentifier,
SQLPOINTER CharacterAttribute, SQLSMALLINT BufferLength,
SQLSMALLINT *StringLength, SQLPOINTER NumericAttribute)
PTR CharacterAttribute, SQLSMALLINT BufferLength,
SQLSMALLINT *StringLength, PTR NumericAttribute)
{
mylog("[[SQLColAttribute]]");
return PGAPI_ColAttributes(StatementHandle, ColumnNumber,
......@@ -87,14 +87,14 @@ SQLRETURN SQL_API SQLColAttribute (SQLHSTMT StatementHandle,
StringLength, NumericAttribute);
}
/* new function */
SQLRETURN SQL_API SQLCopyDesc(SQLHDESC SourceDescHandle,
RETCODE SQL_API SQLCopyDesc(SQLHDESC SourceDescHandle,
SQLHDESC TargetDescHandle)
{
mylog("[[SQLCopyDesc]]\n");
return SQL_ERROR;
}
/* SQLTransact -> SQLEndTran */
SQLRETURN SQL_API SQLEndTran(SQLSMALLINT HandleType, SQLHANDLE Handle,
RETCODE SQL_API SQLEndTran(SQLSMALLINT HandleType, SQLHANDLE Handle,
SQLSMALLINT CompletionType)
{
mylog("[[SQLEndTran]]");
......@@ -110,12 +110,12 @@ SQLRETURN SQL_API SQLEndTran(SQLSMALLINT HandleType, SQLHANDLE Handle,
}
/* SQLExtendedFetch -> SQLFetchScroll */
SQLRETURN SQL_API SQLFetchScroll(SQLHSTMT StatementHandle,
RETCODE SQL_API SQLFetchScroll(HSTMT StatementHandle,
SQLSMALLINT FetchOrientation, SQLINTEGER FetchOffset)
{
static char *func = "SQLFetchScroll";
StatementClass *stmt = (StatementClass *) StatementHandle;
SQLRETURN ret;
RETCODE ret;
SQLUSMALLINT *rowStatusArray = stmt->options.rowStatusArray;
SQLINTEGER *pcRow = stmt->options.rowsFetched;
mylog("[[%s]] %d,%d\n", func, FetchOrientation, FetchOffset);
......@@ -138,7 +138,7 @@ SQLRETURN SQL_API SQLFetchScroll(SQLHSTMT StatementHandle,
return ret;
}
/* SQLFree(Connect/Env/Stmt) -> SQLFreeHandle */
SQLRETURN SQL_API SQLFreeHandle(SQLSMALLINT HandleType, SQLHANDLE Handle)
RETCODE SQL_API SQLFreeHandle(SQLSMALLINT HandleType, SQLHANDLE Handle)
{
mylog("[[SQLFreeHandle]]");
switch (HandleType)
......@@ -154,16 +154,16 @@ SQLRETURN SQL_API SQLFreeHandle(SQLSMALLINT HandleType, SQLHANDLE Handle)
return SQL_ERROR;
}
/* new function */
SQLRETURN SQL_API SQLGetDescField(SQLHDESC DescriptorHandle,
RETCODE SQL_API SQLGetDescField(SQLHDESC DescriptorHandle,
SQLSMALLINT RecNumber, SQLSMALLINT FieldIdentifier,
SQLPOINTER Value, SQLINTEGER BufferLength,
PTR Value, SQLINTEGER BufferLength,
SQLINTEGER *StringLength)
{
mylog("[[SQLGetDescField]]\n");
return SQL_ERROR;
}
/* new function */
SQLRETURN SQL_API SQLGetDescRec(SQLHDESC DescriptorHandle,
RETCODE SQL_API SQLGetDescRec(SQLHDESC DescriptorHandle,
SQLSMALLINT RecNumber, SQLCHAR *Name,
SQLSMALLINT BufferLength, SQLSMALLINT *StringLength,
SQLSMALLINT *Type, SQLSMALLINT *SubType,
......@@ -174,21 +174,21 @@ SQLRETURN SQL_API SQLGetDescRec(SQLHDESC DescriptorHandle,
return SQL_ERROR;
}
/* new function */
SQLRETURN SQL_API SQLGetDiagField(SQLSMALLINT HandleType, SQLHANDLE Handle,
RETCODE SQL_API SQLGetDiagField(SQLSMALLINT HandleType, SQLHANDLE Handle,
SQLSMALLINT RecNumber, SQLSMALLINT DiagIdentifier,
SQLPOINTER DiagInfo, SQLSMALLINT BufferLength,
PTR DiagInfo, SQLSMALLINT BufferLength,
SQLSMALLINT *StringLength)
{
mylog("[[SQLGetDiagField]]\n");
return SQL_ERROR;
}
/* SQLError -> SQLDiagRec */
SQLRETURN SQL_API SQLGetDiagRec(SQLSMALLINT HandleType, SQLHANDLE Handle,
RETCODE SQL_API SQLGetDiagRec(SQLSMALLINT HandleType, SQLHANDLE Handle,
SQLSMALLINT RecNumber, SQLCHAR *Sqlstate,
SQLINTEGER *NativeError, SQLCHAR *MessageText,
SQLSMALLINT BufferLength, SQLSMALLINT *TextLength)
{
SQLRETURN ret;
RETCODE ret;
mylog("[[SQLGetDiagRec]]\n");
switch (HandleType)
{
......@@ -221,8 +221,8 @@ SQLRETURN SQL_API SQLGetDiagRec(SQLSMALLINT HandleType, SQLHANDLE Handle,
return ret;
}
/* new function */
SQLRETURN SQL_API SQLGetEnvAttr(SQLHENV EnvironmentHandle,
SQLINTEGER Attribute, SQLPOINTER Value,
RETCODE SQL_API SQLGetEnvAttr(HENV EnvironmentHandle,
SQLINTEGER Attribute, PTR Value,
SQLINTEGER BufferLength, SQLINTEGER *StringLength)
{
EnvironmentClass *env = (EnvironmentClass *) EnvironmentHandle;
......@@ -248,8 +248,8 @@ SQLRETURN SQL_API SQLGetEnvAttr(SQLHENV EnvironmentHandle,
return SQL_SUCCESS;
}
/* SQLGetConnectOption -> SQLGetconnectAttr */
SQLRETURN SQL_API SQLGetConnectAttr(SQLHDBC ConnectionHandle,
SQLINTEGER Attribute, SQLPOINTER Value,
RETCODE SQL_API SQLGetConnectAttr(HDBC ConnectionHandle,
SQLINTEGER Attribute, PTR Value,
SQLINTEGER BufferLength, SQLINTEGER *StringLength)
{
ConnectionClass *conn = (ConnectionClass *) ConnectionHandle;
......@@ -268,13 +268,13 @@ SQLRETURN SQL_API SQLGetConnectAttr(SQLHDBC ConnectionHandle,
return PGAPI_GetConnectOption (ConnectionHandle, (UWORD) Attribute, Value);
}
/* SQLGetStmtOption -> SQLGetStmtAttr */
SQLRETURN SQL_API SQLGetStmtAttr(SQLHSTMT StatementHandle,
SQLINTEGER Attribute, SQLPOINTER Value,
RETCODE SQL_API SQLGetStmtAttr(HSTMT StatementHandle,
SQLINTEGER Attribute, PTR Value,
SQLINTEGER BufferLength, SQLINTEGER *StringLength)
{
static char *func = "SQLGetStmtAttr";
StatementClass *stmt = (StatementClass *) StatementHandle;
SQLRETURN ret = SQL_SUCCESS;
RETCODE ret = SQL_SUCCESS;
int len = 0;
mylog("[[%s]] %d\n", func, Attribute);
switch (Attribute)
......@@ -296,19 +296,19 @@ SQLRETURN SQL_API SQLGetStmtAttr(SQLHSTMT StatementHandle,
len = 4;
break;
case SQL_ATTR_APP_ROW_DESC: /* 10010 */
*((SQLHSTMT *) Value) = StatementHandle; /* this is useless */
*((HSTMT *) Value) = StatementHandle; /* this is useless */
len = 4;
break;
case SQL_ATTR_APP_PARAM_DESC: /* 10011 */
*((SQLHSTMT *) Value) = StatementHandle; /* this is useless */
*((HSTMT *) Value) = StatementHandle; /* this is useless */
len = 4;
break;
case SQL_ATTR_IMP_ROW_DESC: /* 10012 */
*((SQLHSTMT *) Value) = StatementHandle; /* this is useless */
*((HSTMT *) Value) = StatementHandle; /* this is useless */
len = 4;
break;
case SQL_ATTR_IMP_PARAM_DESC: /* 10013 */
*((SQLHSTMT *) Value) = StatementHandle; /* this is useless */
*((HSTMT *) Value) = StatementHandle; /* this is useless */
len = 4;
break;
case SQL_ATTR_AUTO_IPD: /* 10001 */
......@@ -343,8 +343,8 @@ SQLRETURN SQL_API SQLGetStmtAttr(SQLHSTMT StatementHandle,
}
/* SQLSetConnectOption -> SQLSetConnectAttr */
SQLRETURN SQL_API SQLSetConnectAttr(SQLHDBC ConnectionHandle,
SQLINTEGER Attribute, SQLPOINTER Value,
RETCODE SQL_API SQLSetConnectAttr(HDBC ConnectionHandle,
SQLINTEGER Attribute, PTR Value,
SQLINTEGER StringLength)
{
ConnectionClass *conn = (ConnectionClass *) ConnectionHandle;
......@@ -364,27 +364,27 @@ SQLRETURN SQL_API SQLSetConnectAttr(SQLHDBC ConnectionHandle,
return PGAPI_SetConnectOption(ConnectionHandle, (UWORD) Attribute, (UDWORD) Value);
}
/* new function */
SQLRETURN SQL_API SQLSetDescField(SQLHDESC DescriptorHandle,
RETCODE SQL_API SQLSetDescField(SQLHDESC DescriptorHandle,
SQLSMALLINT RecNumber, SQLSMALLINT FieldIdentifier,
SQLPOINTER Value, SQLINTEGER BufferLength)
PTR Value, SQLINTEGER BufferLength)
{
mylog("[[SQLSetDescField]]\n");
return SQL_ERROR;
}
/* new fucntion */
SQLRETURN SQL_API SQLSetDescRec(SQLHDESC DescriptorHandle,
RETCODE SQL_API SQLSetDescRec(SQLHDESC DescriptorHandle,
SQLSMALLINT RecNumber, SQLSMALLINT Type,
SQLSMALLINT SubType, SQLINTEGER Length,
SQLSMALLINT Precision, SQLSMALLINT Scale,
SQLPOINTER Data, SQLINTEGER *StringLength,
PTR Data, SQLINTEGER *StringLength,
SQLINTEGER *Indicator)
{
mylog("[[SQLsetDescRec]]\n");
return SQL_ERROR;
}
/* new function */
SQLRETURN SQL_API SQLSetEnvAttr(SQLHENV EnvironmentHandle,
SQLINTEGER Attribute, SQLPOINTER Value,
RETCODE SQL_API SQLSetEnvAttr(HENV EnvironmentHandle,
SQLINTEGER Attribute, PTR Value,
SQLINTEGER StringLength)
{
EnvironmentClass *env = (EnvironmentClass *) EnvironmentHandle;
......@@ -415,8 +415,8 @@ SQLRETURN SQL_API SQLSetEnvAttr(SQLHENV EnvironmentHandle,
return SQL_SUCCESS_WITH_INFO;
}
/* SQLSet(Param/Scroll/Stmt)Option -> SQLSetStmtAttr */
SQLRETURN SQL_API SQLSetStmtAttr(SQLHSTMT StatementHandle,
SQLINTEGER Attribute, SQLPOINTER Value,
RETCODE SQL_API SQLSetStmtAttr(HSTMT StatementHandle,
SQLINTEGER Attribute, PTR Value,
SQLINTEGER StringLength)
{
static char *func = "SQLSetStmtAttr";
......@@ -569,7 +569,7 @@ PGAPI_GetFunctions30(HDBC hdbc, UWORD fFunction, UWORD FAR *pfExists)
return SQL_SUCCESS;
}
SQLRETURN SQL_API
RETCODE SQL_API
PGAPI_GetInfo30(HDBC hdbc, UWORD fInfoType, PTR rgbInfoValue,
SWORD cbInfoValueMax, SWORD FAR *pcbInfoValue)
{
......@@ -577,7 +577,7 @@ PGAPI_GetInfo30(HDBC hdbc, UWORD fInfoType, PTR rgbInfoValue,
ConnectionClass *conn = (ConnectionClass *) hdbc;
char *p = NULL;
int len = 0, value = 0;
SQLRETURN result;
RETCODE result;
switch (fInfoType)
{
......
......@@ -3,7 +3,8 @@
*
*-------
*/
#ifndef _PG_API_FUNC_H__
#define _PG_API_FUNC_H__
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
......@@ -20,129 +21,129 @@
#include <sqlext.h>
#endif
SQLRETURN SQL_API PGAPI_AllocConnect(SQLHENV EnvironmentHandle,
SQLHDBC *ConnectionHandle);
SQLRETURN SQL_API PGAPI_AllocEnv(SQLHENV *EnvironmentHandle);
SQLRETURN SQL_API PGAPI_AllocStmt(SQLHDBC ConnectionHandle,
SQLHSTMT *StatementHandle);
SQLRETURN SQL_API PGAPI_BindCol(SQLHSTMT StatementHandle,
RETCODE SQL_API PGAPI_AllocConnect(HENV EnvironmentHandle,
HDBC FAR *ConnectionHandle);
RETCODE SQL_API PGAPI_AllocEnv(HENV FAR *EnvironmentHandle);
RETCODE SQL_API PGAPI_AllocStmt(HDBC ConnectionHandle,
HSTMT *StatementHandle);
RETCODE SQL_API PGAPI_BindCol(HSTMT StatementHandle,
SQLUSMALLINT ColumnNumber, SQLSMALLINT TargetType,
SQLPOINTER TargetValue, SQLINTEGER BufferLength,
PTR TargetValue, SQLINTEGER BufferLength,
SQLINTEGER *StrLen_or_Ind);
SQLRETURN SQL_API PGAPI_Cancel(SQLHSTMT StatementHandle);
SQLRETURN SQL_API PGAPI_Columns(SQLHSTMT StatementHandle,
RETCODE SQL_API PGAPI_Cancel(HSTMT StatementHandle);
RETCODE SQL_API PGAPI_Columns(HSTMT StatementHandle,
SQLCHAR *CatalogName, SQLSMALLINT NameLength1,
SQLCHAR *SchemaName, SQLSMALLINT NameLength2,
SQLCHAR *TableName, SQLSMALLINT NameLength3,
SQLCHAR *ColumnName, SQLSMALLINT NameLength4);
SQLRETURN SQL_API PGAPI_Connect(SQLHDBC ConnectionHandle,
RETCODE SQL_API PGAPI_Connect(HDBC ConnectionHandle,
SQLCHAR *ServerName, SQLSMALLINT NameLength1,
SQLCHAR *UserName, SQLSMALLINT NameLength2,
SQLCHAR *Authentication, SQLSMALLINT NameLength3);
SQLRETURN SQL_API PGAPI_DriverConnect(HDBC hdbc, HWND hwnd,
RETCODE SQL_API PGAPI_DriverConnect(HDBC hdbc, HWND hwnd,
UCHAR FAR *szConnStrIn, SWORD cbConnStrIn,
UCHAR FAR *szConnStrOut, SWORD cbConnStrOutMax,
SWORD FAR *pcbConnStrOut, UWORD fDriverCompletion);
SQLRETURN SQL_API PGAPI_BrowseConnect(SQLHDBC hdbc,
RETCODE SQL_API PGAPI_BrowseConnect(HDBC hdbc,
SQLCHAR *szConnStrIn, SQLSMALLINT cbConnStrIn,
SQLCHAR *szConnStrOut, SQLSMALLINT cbConnStrOutMax,
SQLSMALLINT *pcbConnStrOut);
SQLRETURN SQL_API PGAPI_DataSources(SQLHENV EnvironmentHandle,
RETCODE SQL_API PGAPI_DataSources(HENV EnvironmentHandle,
SQLUSMALLINT Direction, SQLCHAR *ServerName,
SQLSMALLINT BufferLength1, SQLSMALLINT *NameLength1,
SQLCHAR *Description, SQLSMALLINT BufferLength2,
SQLSMALLINT *NameLength2);
SQLRETURN SQL_API PGAPI_DescribeCol(SQLHSTMT StatementHandle,
RETCODE SQL_API PGAPI_DescribeCol(HSTMT StatementHandle,
SQLUSMALLINT ColumnNumber, SQLCHAR *ColumnName,
SQLSMALLINT BufferLength, SQLSMALLINT *NameLength,
SQLSMALLINT *DataType, SQLUINTEGER *ColumnSize,
SQLSMALLINT *DecimalDigits, SQLSMALLINT *Nullable);
SQLRETURN SQL_API PGAPI_Disconnect(SQLHDBC ConnectionHandle);
SQLRETURN SQL_API PGAPI_Error(SQLHENV EnvironmentHandle,
SQLHDBC ConnectionHandle, SQLHSTMT StatementHandle,
RETCODE SQL_API PGAPI_Disconnect(HDBC ConnectionHandle);
RETCODE SQL_API PGAPI_Error(HENV EnvironmentHandle,
HDBC ConnectionHandle, HSTMT StatementHandle,
SQLCHAR *Sqlstate, SQLINTEGER *NativeError,
SQLCHAR *MessageText, SQLSMALLINT BufferLength,
SQLSMALLINT *TextLength);
SQLRETURN SQL_API PGAPI_ExecDirect(SQLHSTMT StatementHandle,
RETCODE SQL_API PGAPI_ExecDirect(HSTMT StatementHandle,
SQLCHAR *StatementText, SQLINTEGER TextLength);
SQLRETURN SQL_API PGAPI_Execute(SQLHSTMT StatementHandle);
SQLRETURN SQL_API PGAPI_Fetch(SQLHSTMT StatementHandle);
SQLRETURN SQL_API PGAPI_FreeConnect(SQLHDBC ConnectionHandle);
SQLRETURN SQL_API PGAPI_FreeEnv(SQLHENV EnvironmentHandle);
SQLRETURN SQL_API PGAPI_FreeStmt(SQLHSTMT StatementHandle,
RETCODE SQL_API PGAPI_Execute(HSTMT StatementHandle);
RETCODE SQL_API PGAPI_Fetch(HSTMT StatementHandle);
RETCODE SQL_API PGAPI_FreeConnect(HDBC ConnectionHandle);
RETCODE SQL_API PGAPI_FreeEnv(HENV EnvironmentHandle);
RETCODE SQL_API PGAPI_FreeStmt(HSTMT StatementHandle,
SQLUSMALLINT Option);
SQLRETURN SQL_API PGAPI_GetConnectOption(SQLHDBC ConnectionHandle,
SQLUSMALLINT Option, SQLPOINTER Value);
SQLRETURN SQL_API PGAPI_GetCursorName(SQLHSTMT StatementHandle,
RETCODE SQL_API PGAPI_GetConnectOption(HDBC ConnectionHandle,
SQLUSMALLINT Option, PTR Value);
RETCODE SQL_API PGAPI_GetCursorName(HSTMT StatementHandle,
SQLCHAR *CursorName, SQLSMALLINT BufferLength,
SQLSMALLINT *NameLength);
SQLRETURN SQL_API PGAPI_GetData(SQLHSTMT StatementHandle,
RETCODE SQL_API PGAPI_GetData(HSTMT StatementHandle,
SQLUSMALLINT ColumnNumber, SQLSMALLINT TargetType,
SQLPOINTER TargetValue, SQLINTEGER BufferLength,
PTR TargetValue, SQLINTEGER BufferLength,
SQLINTEGER *StrLen_or_Ind);
SQLRETURN SQL_API PGAPI_GetFunctions(SQLHDBC ConnectionHandle,
RETCODE SQL_API PGAPI_GetFunctions(HDBC ConnectionHandle,
SQLUSMALLINT FunctionId, SQLUSMALLINT *Supported);
SQLRETURN SQL_API PGAPI_GetFunctions30(SQLHDBC ConnectionHandle,
RETCODE SQL_API PGAPI_GetFunctions30(HDBC ConnectionHandle,
SQLUSMALLINT FunctionId, SQLUSMALLINT *Supported);
SQLRETURN SQL_API PGAPI_GetInfo(SQLHDBC ConnectionHandle,
SQLUSMALLINT InfoType, SQLPOINTER InfoValue,
RETCODE SQL_API PGAPI_GetInfo(HDBC ConnectionHandle,
SQLUSMALLINT InfoType, PTR InfoValue,
SQLSMALLINT BufferLength, SQLSMALLINT *StringLength);
SQLRETURN SQL_API PGAPI_GetInfo30(SQLHDBC ConnectionHandle,
SQLUSMALLINT InfoType, SQLPOINTER InfoValue,
RETCODE SQL_API PGAPI_GetInfo30(HDBC ConnectionHandle,
SQLUSMALLINT InfoType, PTR InfoValue,
SQLSMALLINT BufferLength, SQLSMALLINT *StringLength);
SQLRETURN SQL_API PGAPI_GetStmtOption(SQLHSTMT StatementHandle,
SQLUSMALLINT Option, SQLPOINTER Value);
SQLRETURN SQL_API PGAPI_GetTypeInfo(SQLHSTMT StatementHandle,
RETCODE SQL_API PGAPI_GetStmtOption(HSTMT StatementHandle,
SQLUSMALLINT Option, PTR Value);
RETCODE SQL_API PGAPI_GetTypeInfo(HSTMT StatementHandle,
SQLSMALLINT DataType);
SQLRETURN SQL_API PGAPI_NumResultCols(SQLHSTMT StatementHandle,
RETCODE SQL_API PGAPI_NumResultCols(HSTMT StatementHandle,
SQLSMALLINT *ColumnCount);
SQLRETURN SQL_API PGAPI_ParamData(SQLHSTMT StatementHandle,
SQLPOINTER *Value);
SQLRETURN SQL_API PGAPI_Prepare(SQLHSTMT StatementHandle,
RETCODE SQL_API PGAPI_ParamData(HSTMT StatementHandle,
PTR *Value);
RETCODE SQL_API PGAPI_Prepare(HSTMT StatementHandle,
SQLCHAR *StatementText, SQLINTEGER TextLength);
SQLRETURN SQL_API PGAPI_PutData(SQLHSTMT StatementHandle,
SQLPOINTER Data, SQLINTEGER StrLen_or_Ind);
SQLRETURN SQL_API PGAPI_RowCount(SQLHSTMT StatementHandle,
RETCODE SQL_API PGAPI_PutData(HSTMT StatementHandle,
PTR Data, SQLINTEGER StrLen_or_Ind);
RETCODE SQL_API PGAPI_RowCount(HSTMT StatementHandle,
SQLINTEGER *RowCount);
SQLRETURN SQL_API PGAPI_SetConnectOption(SQLHDBC ConnectionHandle,
RETCODE SQL_API PGAPI_SetConnectOption(HDBC ConnectionHandle,
SQLUSMALLINT Option, SQLUINTEGER Value);
SQLRETURN SQL_API PGAPI_SetCursorName(SQLHSTMT StatementHandle,
RETCODE SQL_API PGAPI_SetCursorName(HSTMT StatementHandle,
SQLCHAR *CursorName, SQLSMALLINT NameLength);
SQLRETURN SQL_API PGAPI_SetParam(SQLHSTMT StatementHandle,
RETCODE SQL_API PGAPI_SetParam(HSTMT StatementHandle,
SQLUSMALLINT ParameterNumber, SQLSMALLINT ValueType,
SQLSMALLINT ParameterType, SQLUINTEGER LengthPrecision,
SQLSMALLINT ParameterScale, SQLPOINTER ParameterValue,
SQLSMALLINT ParameterScale, PTR ParameterValue,
SQLINTEGER *StrLen_or_Ind);
SQLRETURN SQL_API PGAPI_SetStmtOption(SQLHSTMT StatementHandle,
RETCODE SQL_API PGAPI_SetStmtOption(HSTMT StatementHandle,
SQLUSMALLINT Option, SQLUINTEGER Value);
SQLRETURN SQL_API PGAPI_SpecialColumns(SQLHSTMT StatementHandle,
RETCODE SQL_API PGAPI_SpecialColumns(HSTMT StatementHandle,
SQLUSMALLINT IdentifierType, SQLCHAR *CatalogName,
SQLSMALLINT NameLength1, SQLCHAR *SchemaName,
SQLSMALLINT NameLength2, SQLCHAR *TableName,
SQLSMALLINT NameLength3, SQLUSMALLINT Scope,
SQLUSMALLINT Nullable);
SQLRETURN SQL_API PGAPI_Statistics(SQLHSTMT StatementHandle,
RETCODE SQL_API PGAPI_Statistics(HSTMT StatementHandle,
SQLCHAR *CatalogName, SQLSMALLINT NameLength1,
SQLCHAR *SchemaName, SQLSMALLINT NameLength2,
SQLCHAR *TableName, SQLSMALLINT NameLength3,
SQLUSMALLINT Unique, SQLUSMALLINT Reserved);
SQLRETURN SQL_API PGAPI_Tables(SQLHSTMT StatementHandle,
RETCODE SQL_API PGAPI_Tables(HSTMT StatementHandle,
SQLCHAR *CatalogName, SQLSMALLINT NameLength1,
SQLCHAR *SchemaName, SQLSMALLINT NameLength2,
SQLCHAR *TableName, SQLSMALLINT NameLength3,
SQLCHAR *TableType, SQLSMALLINT NameLength4);
SQLRETURN SQL_API PGAPI_Transact(SQLHENV EnvironmentHandle,
SQLHDBC ConnectionHandle, SQLUSMALLINT CompletionType);
SQLRETURN SQL_API PGAPI_ColAttributes(
SQLHSTMT hstmt,
RETCODE SQL_API PGAPI_Transact(HENV EnvironmentHandle,
HDBC ConnectionHandle, SQLUSMALLINT CompletionType);
RETCODE SQL_API PGAPI_ColAttributes(
HSTMT hstmt,
SQLUSMALLINT icol,
SQLUSMALLINT fDescType,
SQLPOINTER rgbDesc,
PTR rgbDesc,
SQLSMALLINT cbDescMax,
SQLSMALLINT *pcbDesc,
SQLINTEGER *pfDesc);
SQLRETURN SQL_API PGAPI_ColumnPrivileges(
SQLHSTMT hstmt,
RETCODE SQL_API PGAPI_ColumnPrivileges(
HSTMT hstmt,
SQLCHAR *szCatalogName,
SQLSMALLINT cbCatalogName,
SQLCHAR *szSchemaName,
......@@ -151,21 +152,21 @@ SQLRETURN SQL_API PGAPI_ColumnPrivileges(
SQLSMALLINT cbTableName,
SQLCHAR *szColumnName,
SQLSMALLINT cbColumnName);
SQLRETURN SQL_API PGAPI_DescribeParam(
SQLHSTMT hstmt,
RETCODE SQL_API PGAPI_DescribeParam(
HSTMT hstmt,
SQLUSMALLINT ipar,
SQLSMALLINT *pfSqlType,
SQLUINTEGER *pcbParamDef,
SQLSMALLINT *pibScale,
SQLSMALLINT *pfNullable);
SQLRETURN SQL_API PGAPI_ExtendedFetch(
SQLHSTMT hstmt,
RETCODE SQL_API PGAPI_ExtendedFetch(
HSTMT hstmt,
SQLUSMALLINT fFetchType,
SQLINTEGER irow,
SQLUINTEGER *pcrow,
SQLUSMALLINT *rgfRowStatus);
SQLRETURN SQL_API PGAPI_ForeignKeys(
SQLHSTMT hstmt,
RETCODE SQL_API PGAPI_ForeignKeys(
HSTMT hstmt,
SQLCHAR *szPkCatalogName,
SQLSMALLINT cbPkCatalogName,
SQLCHAR *szPkSchemaName,
......@@ -178,32 +179,32 @@ SQLRETURN SQL_API PGAPI_ForeignKeys(
SQLSMALLINT cbFkSchemaName,
SQLCHAR *szFkTableName,
SQLSMALLINT cbFkTableName);
SQLRETURN SQL_API PGAPI_MoreResults(
SQLHSTMT hstmt);
SQLRETURN SQL_API PGAPI_NativeSql(
SQLHDBC hdbc,
RETCODE SQL_API PGAPI_MoreResults(
HSTMT hstmt);
RETCODE SQL_API PGAPI_NativeSql(
HDBC hdbc,
SQLCHAR *szSqlStrIn,
SQLINTEGER cbSqlStrIn,
SQLCHAR *szSqlStr,
SQLINTEGER cbSqlStrMax,
SQLINTEGER *pcbSqlStr);
SQLRETURN SQL_API PGAPI_NumParams(
SQLHSTMT hstmt,
RETCODE SQL_API PGAPI_NumParams(
HSTMT hstmt,
SQLSMALLINT *pcpar);
SQLRETURN SQL_API PGAPI_ParamOptions(
SQLHSTMT hstmt,
RETCODE SQL_API PGAPI_ParamOptions(
HSTMT hstmt,
SQLUINTEGER crow,
SQLUINTEGER *pirow);
SQLRETURN SQL_API PGAPI_PrimaryKeys(
SQLHSTMT hstmt,
RETCODE SQL_API PGAPI_PrimaryKeys(
HSTMT hstmt,
SQLCHAR *szCatalogName,
SQLSMALLINT cbCatalogName,
SQLCHAR *szSchemaName,
SQLSMALLINT cbSchemaName,
SQLCHAR *szTableName,
SQLSMALLINT cbTableName);
SQLRETURN SQL_API PGAPI_ProcedureColumns(
SQLHSTMT hstmt,
RETCODE SQL_API PGAPI_ProcedureColumns(
HSTMT hstmt,
SQLCHAR *szCatalogName,
SQLSMALLINT cbCatalogName,
SQLCHAR *szSchemaName,
......@@ -212,37 +213,41 @@ SQLRETURN SQL_API PGAPI_ProcedureColumns(
SQLSMALLINT cbProcName,
SQLCHAR *szColumnName,
SQLSMALLINT cbColumnName);
SQLRETURN SQL_API PGAPI_Procedures(
SQLHSTMT hstmt,
RETCODE SQL_API PGAPI_Procedures(
HSTMT hstmt,
SQLCHAR *szCatalogName,
SQLSMALLINT cbCatalogName,
SQLCHAR *szSchemaName,
SQLSMALLINT cbSchemaName,
SQLCHAR *szProcName,
SQLSMALLINT cbProcName);
SQLRETURN SQL_API PGAPI_SetPos(
SQLHSTMT hstmt,
RETCODE SQL_API PGAPI_SetPos(
HSTMT hstmt,
SQLUSMALLINT irow,
SQLUSMALLINT fOption,
SQLUSMALLINT fLock);
SQLRETURN SQL_API PGAPI_TablePrivileges(
SQLHSTMT hstmt,
RETCODE SQL_API PGAPI_TablePrivileges(
HSTMT hstmt,
SQLCHAR *szCatalogName,
SQLSMALLINT cbCatalogName,
SQLCHAR *szSchemaName,
SQLSMALLINT cbSchemaName,
SQLCHAR *szTableName,
SQLSMALLINT cbTableName);
SQLRETURN SQL_API PGAPI_BindParameter(
SQLHSTMT hstmt,
RETCODE SQL_API PGAPI_BindParameter(
HSTMT hstmt,
SQLUSMALLINT ipar,
SQLSMALLINT fParamType,
SQLSMALLINT fCType,
SQLSMALLINT fSqlType,
SQLUINTEGER cbColDef,
SQLSMALLINT ibScale,
SQLPOINTER rgbValue,
PTR rgbValue,
SQLINTEGER cbValueMax,
SQLINTEGER *pcbValue);
/* #include "pg_converr_check.h" */
RETCODE SQL_API PGAPI_SetScrollOptions(
HSTMT hstmt,
UWORD fConcurrency,
SDWORD crowKeyset,
UWORD crowRowset);
#endif /* define_PG_API_FUNC_H__ */
......@@ -697,6 +697,9 @@ pgtype_length(StatementClass *stmt, Int4 type, int col, int handle_unknown_size_
return 16;
/* Character types (and NUMERIC) use the default precision */
case PG_TYPE_VARCHAR:
case PG_TYPE_BPCHAR:
return 2 * pgtype_precision(stmt, type, col, handle_unknown_size_as);
default:
return pgtype_precision(stmt, type, col, handle_unknown_size_as);
}
......
......@@ -714,13 +714,15 @@ SC_fetch(StatementClass *self)
static char *func = "SC_fetch";
QResultClass *res = self->result;
int retval,
result, updret;
result;
#ifdef DRIVER_CURSOR_IMPLEMENT
int updret;
#endif /* DRIVER_CURSOR_IMPLEMENT */
Int2 num_cols,
lf;
Oid type;
char *value;
ColumnInfoClass *ci;
extern WORD addrow;
/* TupleField *tupleField; */
self->last_fetch_count = 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册