Changeset: a2ed2886b2ec for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a2ed2886b2ec
Modified Files:
Branch: default
Log Message:
Merge from Jun2010 branch: Attempt to deal with different unixODBC/Microsoft
ODBC versions.
With this fix the ODBC driver compiles on Debian Lenny again.
diffs (137 lines):
diff -r e2bead643b63 -r a2ed2886b2ec clients/src/odbc/driver/ODBCStmt.h
--- a/clients/src/odbc/driver/ODBCStmt.h Fri Jun 11 15:34:03 2010 +0200
+++ b/clients/src/odbc/driver/ODBCStmt.h Fri Jun 11 15:53:42 2010 +0200
@@ -80,9 +80,9 @@
set (0 based); rowSetSize is the number of rows in the
current result set; currentRow is the row number of the
current row within the current result set */
- SQLULEN currentRow;
- SQLULEN startRow;
- SQLULEN rowSetSize;
+ SQLROWOFFSET currentRow;
+ SQLROWOFFSET startRow;
+ SQLROWOFFSET rowSetSize;
unsigned int currentCol; /* used by SQLGetData() */
SQLINTEGER retrieved; /* amount of data retrieved */
diff -r e2bead643b63 -r a2ed2886b2ec clients/src/odbc/driver/SQLExtendedFetch.c
--- a/clients/src/odbc/driver/SQLExtendedFetch.c Fri Jun 11 15:34:03
2010 +0200
+++ b/clients/src/odbc/driver/SQLExtendedFetch.c Fri Jun 11 15:53:42
2010 +0200
@@ -42,8 +42,8 @@
SQLRETURN SQL_API
SQLExtendedFetch(SQLHSTMT hStmt,
SQLUSMALLINT nOrientation,
- SQLLEN nOffset,
- SQLULEN *pnRowCount,
+ SQLROWOFFSET nOffset,
+ SQLROWSETSIZE *pnRowCount,
SQLUSMALLINT *pRowStatusArray)
{
ODBCStmt *stmt = (ODBCStmt *) hStmt;
@@ -51,7 +51,7 @@
SQLRETURN rc;
#ifdef ODBCDEBUG
- ODBCLOG("SQLExtendedFetch " PTRFMT " %d " LENFMT "\n", PTRFMTCAST
hStmt, nOrientation, nOffset);
+ ODBCLOG("SQLExtendedFetch " PTRFMT " %d " LENFMT "\n", PTRFMTCAST
hStmt, nOrientation, (SQLLEN) nOffset);
#endif
if (!isValidStmt(stmt))
diff -r e2bead643b63 -r a2ed2886b2ec clients/src/odbc/driver/SQLFetch.c
--- a/clients/src/odbc/driver/SQLFetch.c Fri Jun 11 15:34:03 2010 +0200
+++ b/clients/src/odbc/driver/SQLFetch.c Fri Jun 11 15:53:42 2010 +0200
@@ -77,7 +77,7 @@
updating the SQL_DESC_ARRAY_STATUS_PTR */
stmt->rowSetSize = desc->sql_desc_array_size;
- if (stmt->startRow + stmt->rowSetSize > stmt->rowcount)
+ if (stmt->startRow + stmt->rowSetSize > (SQLROWOFFSET)
stmt->rowcount)
stmt->rowSetSize = stmt->rowcount - stmt->startRow;
if (stmt->rowSetSize <= 0) {
@@ -85,7 +85,7 @@
return SQL_NO_DATA;
}
if (statusp) {
- for (row = 0; row < stmt->rowSetSize; row++)
+ for (row = 0; (SQLROWOFFSET) row < stmt->rowSetSize;
row++)
*statusp++ = SQL_ROW_SUCCESS;
for (; row < desc->sql_desc_array_size; row++)
*statusp++ = SQL_ROW_NOROW;
diff -r e2bead643b63 -r a2ed2886b2ec clients/src/odbc/driver/SQLFetchScroll.c
--- a/clients/src/odbc/driver/SQLFetchScroll.c Fri Jun 11 15:34:03 2010 +0200
+++ b/clients/src/odbc/driver/SQLFetchScroll.c Fri Jun 11 15:53:42 2010 +0200
@@ -45,7 +45,7 @@
SQLRETURN
SQLFetchScroll_(ODBCStmt *stmt,
SQLSMALLINT FetchOrientation,
- SQLLEN FetchOffset)
+ SQLROWOFFSET FetchOffset)
{
assert(stmt->hdl);
@@ -62,7 +62,7 @@
switch (FetchOrientation) {
case SQL_FETCH_NEXT:
- if (stmt->currentRow >= stmt->rowcount) {
+ if (stmt->currentRow >= (SQLROWOFFSET) stmt->rowcount) {
stmt->State = FETCHED;
return SQL_NO_DATA;
}
@@ -84,7 +84,7 @@
stmt->State = FETCHED;
return SQL_NO_DATA;
}
- if (stmt->startRow < RowSetSize) {
+ if (stmt->startRow < (SQLROWOFFSET) RowSetSize) {
/* Attempt to fetch before the result set
returned the first rowset */
addStmtError(stmt, "01S06", NULL, 0);
@@ -94,7 +94,7 @@
break;
case SQL_FETCH_RELATIVE:
if ((stmt->currentRow != 0 || FetchOffset <= 0) &&
- (stmt->currentRow != stmt->rowcount || FetchOffset >= 0)) {
+ (stmt->currentRow != (SQLROWOFFSET) stmt->rowcount ||
FetchOffset >= 0)) {
if ((stmt->currentRow == 0 && FetchOffset <= 0) ||
(stmt->startRow == 0 && FetchOffset < 0) ||
(stmt->startRow > 0 &&
@@ -114,8 +114,8 @@
addStmtError(stmt, "01S06", NULL, 0);
break;
}
- if (stmt->startRow + FetchOffset >= stmt->rowcount ||
- stmt->currentRow == stmt->rowcount) {
+ if (stmt->startRow + FetchOffset >= (SQLROWOFFSET)
stmt->rowcount ||
+ stmt->currentRow == (SQLROWOFFSET) stmt->rowcount) {
stmt->startRow = stmt->rowcount;
stmt->State = FETCHED;
return SQL_NO_DATA;
@@ -169,12 +169,12 @@
SQLRETURN SQL_API
SQLFetchScroll(SQLHSTMT hStmt,
SQLSMALLINT FetchOrientation,
- SQLLEN FetchOffset)
+ SQLROWOFFSET FetchOffset)
{
ODBCStmt *stmt = (ODBCStmt *) hStmt;
#ifdef ODBCDEBUG
- ODBCLOG("SQLFetchScroll " PTRFMT " %d " LENFMT "\n", PTRFMTCAST hStmt,
FetchOrientation, FetchOffset);
+ ODBCLOG("SQLFetchScroll " PTRFMT " %d " LENFMT "\n", PTRFMTCAST hStmt,
FetchOrientation, (SQLLEN) FetchOffset);
#endif
if (!isValidStmt(stmt))
diff -r e2bead643b63 -r a2ed2886b2ec clients/src/odbc/driver/SQLSetPos.c
--- a/clients/src/odbc/driver/SQLSetPos.c Fri Jun 11 15:34:03 2010 +0200
+++ b/clients/src/odbc/driver/SQLSetPos.c Fri Jun 11 15:53:42 2010 +0200
@@ -69,7 +69,7 @@
return SQL_ERROR;
}
- if (nRow > stmt->rowSetSize) {
+ if (nRow > (SQLSETPOSIROW) stmt->rowSetSize) {
/* Row value out of range */
addStmtError(stmt, "HY107", NULL, 0);
return SQL_ERROR;
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list