summaryrefslogtreecommitdiffstats
path: root/src/sql/drivers/mysql/qsql_mysql.cpp
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@nokia.com>2009-11-25 09:51:25 (GMT)
committerOswald Buddenhagen <oswald.buddenhagen@nokia.com>2009-11-25 09:51:25 (GMT)
commit447576ef99f57c6a03850a7ed5bf598f33a64802 (patch)
tree8b4c690034e6ae78479b94f19bce62a98aabc418 /src/sql/drivers/mysql/qsql_mysql.cpp
parentd51c590b8443d5d6dadf76a678439c990213d848 (diff)
parentb2a87b03bdad9f3f038ce6d19db71eb6074842e2 (diff)
downloadQt-447576ef99f57c6a03850a7ed5bf598f33a64802.zip
Qt-447576ef99f57c6a03850a7ed5bf598f33a64802.tar.gz
Qt-447576ef99f57c6a03850a7ed5bf598f33a64802.tar.bz2
Merge remote branch 'mainline/4.6' into 4.6
Diffstat (limited to 'src/sql/drivers/mysql/qsql_mysql.cpp')
-rw-r--r--src/sql/drivers/mysql/qsql_mysql.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/sql/drivers/mysql/qsql_mysql.cpp b/src/sql/drivers/mysql/qsql_mysql.cpp
index f368d1d..b74babc 100644
--- a/src/sql/drivers/mysql/qsql_mysql.cpp
+++ b/src/sql/drivers/mysql/qsql_mysql.cpp
@@ -509,15 +509,24 @@ bool QMYSQLResult::fetchNext()
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 @@ QStringList QMYSQLDriver::tables(QSql::TableType type) const
QSqlIndex QMYSQLDriver::primaryIndex(const QString& tablename) const
{
QSqlIndex idx;
- bool prepQ;
if (!isOpen())
return idx;