Date: Wednesday, March 8, 2006 @ 20:05:00
Author: marc
Path: /cvsroot/carob/odbsequoia/src
Modified: descriptors.cpp (1.4 -> 1.5) descriptors_records.cpp (1.2 ->
1.3) descriptors_records.hpp (1.4 -> 1.5)
SQLFetch() returns SQL_SUCCESS_WITH_INFO when at least one colum does so.
-------------------------+
descriptors.cpp | 8 +++++---
descriptors_records.cpp | 5 +++--
descriptors_records.hpp | 2 +-
3 files changed, 9 insertions(+), 6 deletions(-)
Index: odbsequoia/src/descriptors.cpp
diff -u odbsequoia/src/descriptors.cpp:1.4 odbsequoia/src/descriptors.cpp:1.5
--- odbsequoia/src/descriptors.cpp:1.4 Wed Mar 8 18:57:24 2006
+++ odbsequoia/src/descriptors.cpp Wed Mar 8 20:05:00 2006
@@ -105,6 +105,8 @@
{
// FIXME: work in progress, not even half-implemented
+ SQLRETURN ret = SQL_SUCCESS;
+
int rs_col_end = rs.getNumberOfColumns() + 1;
std::vector<BaseDescRecord *>::const_iterator rec_col = records.begin();
@@ -118,8 +120,8 @@
{
AppDescRecord& record = * static_cast<AppDescRecord *>(*rec_col);
- record.fetch_col(rs, rs_col);
-
+ if (SQL_SUCCESS != record.fetch_col(rs, rs_col))
+ ret = SQL_SUCCESS_WITH_INFO;
}
}
@@ -128,7 +130,7 @@
// Unfortunately we should have reported this error at SQLBindCol()
time
- return SQL_SUCCESS;
+ return ret;
}
/*
Index: odbsequoia/src/descriptors_records.cpp
diff -u odbsequoia/src/descriptors_records.cpp:1.2
odbsequoia/src/descriptors_records.cpp:1.3
--- odbsequoia/src/descriptors_records.cpp:1.2 Wed Mar 8 18:57:24 2006
+++ odbsequoia/src/descriptors_records.cpp Wed Mar 8 20:05:00 2006
@@ -55,7 +55,7 @@
return SQL_SUCCESS;
}
-void
+SQLRETURN
AppDescRecord::fetch_col(CarobNS::DriverResultSet& rs, int rs_col)
{
if (rs.isNull(rs_col))
@@ -66,7 +66,7 @@
L"because indicator_ptr is null");
* indicator_ptr = SQL_NULL_DATA;
- return;
+ return SQL_SUCCESS;
}
// case (type == SQL_C_INT)
@@ -74,6 +74,7 @@
if (octet_length_ptr != 0)
* octet_length_ptr = sizeof(int);
+ return SQL_SUCCESS;
}
/*
* Local Variables:
Index: odbsequoia/src/descriptors_records.hpp
diff -u odbsequoia/src/descriptors_records.hpp:1.4
odbsequoia/src/descriptors_records.hpp:1.5
--- odbsequoia/src/descriptors_records.hpp:1.4 Wed Mar 8 19:55:51 2006
+++ odbsequoia/src/descriptors_records.hpp Wed Mar 8 20:05:00 2006
@@ -75,7 +75,7 @@
SQLRETURN
bind_col(SQLSMALLINT TargetType, SQLPOINTER TargetValuePtr,
SQLINTEGER BufferLength, SQLLEN * StrLen_or_Ind);
- void
+ SQLRETURN
fetch_col(CarobNS::DriverResultSet& rs, int rs_col);
public: // public to avoid cluttering the code with getters/setters
_______________________________________________
Carob-commits mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/carob-commits