Date: Tuesday, January 31, 2006 @ 14:58:20
Author: zsolt
Path: /cvsroot/carob/libmysequoia/src
Modified: CarobMySQL.cpp (1.40 -> 1.41)
- correcting behaviour of CarobMYSQL::execute(). The field_count is now filled
after the execution if there query results a result set.
----------------+
CarobMySQL.cpp | 12 ++++--------
1 files changed, 4 insertions(+), 8 deletions(-)
Index: libmysequoia/src/CarobMySQL.cpp
diff -u libmysequoia/src/CarobMySQL.cpp:1.40
libmysequoia/src/CarobMySQL.cpp:1.41
--- libmysequoia/src/CarobMySQL.cpp:1.40 Tue Jan 31 13:14:45 2006
+++ libmysequoia/src/CarobMySQL.cpp Tue Jan 31 14:58:20 2006
@@ -260,6 +260,8 @@
if (stmtPtr->execute(fromString(std::string(query,length))))
{
mysqlPtr->affected_rows = 0;
+ drsPtr = stmtPtr->getResultSet();
+ mysqlPtr->field_count = drsPtr ? drsPtr->getNumberOfColumns() : 0;
mysqlPtr->status = MYSQL_STATUS_GET_RESULT;
FREE_AND_NULL_ARRAY(mysqlPtr->info);
}
@@ -267,6 +269,7 @@
{
mysqlPtr->affected_rows = stmtPtr->getUpdateCount();
mysqlPtr->status = MYSQL_STATUS_READY;
+ mysqlPtr->field_count = 0;
char info[100];
snprintf(info, sizeof(info), "Records: %llu Duplicates: 0 Warnings: 0",
mysqlPtr->affected_rows);
@@ -298,19 +301,12 @@
return 0;
}
- //If we already stored or used the results, we are not allowed to use it
again
- if (drsPtr)
- {
- set_error(CR_FETCH_CANCELED, SQLT_UNKNOWN);
- LOG4CXX_DEBUG(logger, "Leaving get_results.");
- return 0;
- }
try {
if (stmtPtr)
{
MYSQL_RES *result = 0;
- drsPtr = stmtPtr->getResultSet();
+// drsPtr = stmtPtr->getResultSet();
if (drsPtr)
{
//TODO handle not enough memory (std::nothrow)
_______________________________________________
Carob-commits mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/carob-commits