diff --git a/lib/db_ido_mysql/idomysqlconnection.cpp b/lib/db_ido_mysql/idomysqlconnection.cpp index af32b3db2..c74d62fa2 100644 --- a/lib/db_ido_mysql/idomysqlconnection.cpp +++ b/lib/db_ido_mysql/idomysqlconnection.cpp @@ -683,7 +683,8 @@ bool IdoMysqlConnection::FieldToEscapedString(const String& key, const Value& va if (DbValue::IsObjectInsertID(value)) { dbrefcol = GetInsertID(dbobjcol); - ASSERT(dbrefcol.IsValid()); + if (!dbrefcol.IsValid()) + return false; } else { dbrefcol = GetObjectID(dbobjcol); @@ -750,8 +751,10 @@ void IdoMysqlConnection::InternalExecuteQuery(const DbQuery& query, DbQueryType bool first = true; BOOST_FOREACH(const Dictionary::Pair& kv, query.WhereCriteria) { - if (!FieldToEscapedString(kv.first, kv.second, &value)) + if (!FieldToEscapedString(kv.first, kv.second, &value)) { + m_QueryQueue.Enqueue(boost::bind(&IdoMysqlConnection::InternalExecuteQuery, this, query, (DbQueryType *)NULL)); return; + } if (!first) where << " AND ";