src/sql/drivers/mysql/qsql_mysql.cpp
changeset 3 41300fa6a67c
parent 0 1918ee327afb
child 4 3b1da2848fc7
child 7 f7bc934e204c
--- a/src/sql/drivers/mysql/qsql_mysql.cpp	Tue Jan 26 12:42:25 2010 +0200
+++ b/src/sql/drivers/mysql/qsql_mysql.cpp	Tue Feb 02 00:43:10 2010 +0200
@@ -509,15 +509,24 @@
         return false;
     if (d->preparedQuery) {
 #if MYSQL_VERSION_ID >= 40108
-        if (mysql_stmt_fetch(d->stmt))
+        int nRC = mysql_stmt_fetch(d->stmt);
+        if (nRC) {
+#ifdef MYSQL_DATA_TRUNCATED
+            if (nRC == 1 || nRC == MYSQL_DATA_TRUNCATED)
+#else
+            if (nRC == 1)
+#endif // MYSQL_DATA_TRUNCATED
+                setLastError(qMakeStmtError(QCoreApplication::translate("QMYSQLResult",
+                                    "Unable to fetch data"), QSqlError::StatementError, d->stmt));
             return false;
+        }
 #else
         return false;
 #endif
     } else {
-    d->row = mysql_fetch_row(d->result);
-    if (!d->row)
-        return false;
+        d->row = mysql_fetch_row(d->result);
+        if (!d->row)
+            return false;
     }
     setAt(at() + 1);
     return true;
@@ -1365,7 +1374,6 @@
 QSqlIndex QMYSQLDriver::primaryIndex(const QString& tablename) const
 {
     QSqlIndex idx;
-    bool prepQ;
     if (!isOpen())
         return idx;