diff options
author | Olivier Bertrand <bertrandop@gmail.com> | 2014-07-22 15:51:21 +0200 |
---|---|---|
committer | Olivier Bertrand <bertrandop@gmail.com> | 2014-07-22 15:51:21 +0200 |
commit | decc23cbc2d0ece2217f3d70173cc4dd7088da5c (patch) | |
tree | 776c418ea03cc00eebb6446012a757750a29ccdf /storage/connect/tabmysql.cpp | |
parent | 26e4b69ffd45332fb16a18ce25481e7ac0c69b84 (diff) | |
download | mariadb-git-decc23cbc2d0ece2217f3d70173cc4dd7088da5c.tar.gz |
- Fix bugs in handling of remote index when updating and deleting
modified:
storage/connect/ha_connect.cc
storage/connect/tabdos.cpp
storage/connect/tabfmt.cpp
storage/connect/tabmysql.cpp
- add AVG_REC_LENGTH option to avoid result mismatch between
Windows and Linux
modified:
storage/connect/mysql-test/connect/r/part_file.result
storage/connect/mysql-test/connect/r/part_table.result
storage/connect/mysql-test/connect/t/part_file.test
Diffstat (limited to 'storage/connect/tabmysql.cpp')
-rw-r--r-- | storage/connect/tabmysql.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/storage/connect/tabmysql.cpp b/storage/connect/tabmysql.cpp index 0d0b17c3dcc..6c7c58152b3 100644 --- a/storage/connect/tabmysql.cpp +++ b/storage/connect/tabmysql.cpp @@ -653,7 +653,7 @@ int TDBMYSQL::MakeCommand(PGLOBAL g) // Make a lower case copy of the originale query - qrystr = (char*)PlugSubAlloc(g, NULL, strlen(Qrystr) + 1); + qrystr = (char*)PlugSubAlloc(g, NULL, strlen(Qrystr) + 5); strlwr(strcpy(qrystr, Qrystr)); // Check whether the table name is equal to a keyword @@ -673,6 +673,7 @@ int TDBMYSQL::MakeCommand(PGLOBAL g) strcat(Query, Tabname); strcat(Query, Qrystr + (p - qrystr) + strlen(name)); + strlwr(strcpy(qrystr, Query)); } else { sprintf(g->Message, "Cannot use this %s command", (Mode == MODE_UPDATE) ? "UPDATE" : "DELETE"); @@ -1035,7 +1036,8 @@ bool TDBMYSQL::ReadKey(PGLOBAL g, OPVAL op, const void *key, int len) { int oldlen = strlen(Query); - if (!key || op == OP_NEXT) + if (!key || op == OP_NEXT || + Mode == MODE_UPDATE || Mode == MODE_DELETE) return false; else if (op == OP_FIRST) { if (To_CondFil) @@ -1054,7 +1056,7 @@ bool TDBMYSQL::ReadKey(PGLOBAL g, OPVAL op, const void *key, int len) m_Rc = Myc.ExecSQL(g, Query); Query[oldlen] = 0; - return false; + return (m_Rc == RC_FX) ? true : false; } // end of ReadKey /***********************************************************************/ |