Commit 0aef90d6 authored by Sergey Vojtovich's avatar Sergey Vojtovich

Merge spider fixes.

parents 094b01d4 69a7022d
......@@ -245,7 +245,7 @@ a b c
direct order limit
SHOW STATUS LIKE 'Spider_direct_order_limit';
Variable_name Value
Spider_direct_order_limit 2
Spider_direct_order_limit 0
SELECT a, b, c FROM ta_l_int ORDER BY a LIMIT 3;
a b c
1 2 4
......@@ -253,7 +253,7 @@ a b c
3 4 5
SHOW STATUS LIKE 'Spider_direct_order_limit';
Variable_name Value
Spider_direct_order_limit 3
Spider_direct_order_limit 0
2.26
lock tables
......@@ -297,83 +297,79 @@ PRIMARY KEY (id)
INSERT INTO t1 () VALUES ();
SELECT LAST_INSERT_ID();
LAST_INSERT_ID()
2
777
SELECT MAX(id) FROM t1;
MAX(id)
2
777
INSERT INTO t1 () VALUES ();
SELECT LAST_INSERT_ID();
LAST_INSERT_ID()
6
1554
SELECT MAX(id) FROM t1;
MAX(id)
6
1554
INSERT INTO t1 (id) VALUES (null);
SELECT LAST_INSERT_ID();
LAST_INSERT_ID()
10
2331
SELECT MAX(id) FROM t1;
MAX(id)
10
2331
INSERT INTO t1 (id) VALUES (null);
SELECT LAST_INSERT_ID();
LAST_INSERT_ID()
14
3108
SELECT MAX(id) FROM t1;
MAX(id)
14
3108
INSERT INTO t1 () VALUES (),(),(),();
Warnings:
Note 12520 Binlog's auto-inc value is probably different from linked table's auto-inc value
Note 12520 Binlog's auto-inc value is probably different from linked table's auto-inc value
Note 12520 Binlog's auto-inc value is probably different from linked table's auto-inc value
SELECT LAST_INSERT_ID();
LAST_INSERT_ID()
18
3885
SELECT id FROM t1 ORDER BY id;
id
2
6
10
14
18
22
26
30
777
1554
2331
3108
3885
4662
5439
6216
SET INSERT_ID=5000;
INSERT INTO t1 () VALUES ();
SELECT LAST_INSERT_ID();
LAST_INSERT_ID()
34
5000
SELECT MAX(id) FROM t1;
MAX(id)
34
6216
INSERT INTO t1 (id) VALUES (10000);
SELECT LAST_INSERT_ID();
LAST_INSERT_ID()
38
5000
SELECT MAX(id) FROM t1;
MAX(id)
38
10000
INSERT INTO t1 (id) VALUES (1000);
SELECT LAST_INSERT_ID();
LAST_INSERT_ID()
42
5000
SELECT MAX(id) FROM t1;
MAX(id)
42
10000
SELECT id FROM t1 ORDER BY id;
id
2
6
10
14
18
34
777
1000
1554
2331
3108
3885
4662
5000
5439
6216
10000
read only
......@@ -384,22 +380,22 @@ PRIMARY KEY (id)
) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT_READONLY1_1
SELECT id FROM t1 ORDER BY id;
id
2
6
10
14
18
22
26
30
34
38
42
777
1000
1554
2331
3108
3885
4662
5000
5439
6216
10000
INSERT INTO t1 (id) VALUES (1);
ERROR HY000: Table 'auto_test_local.t1' is read only
UPDATE t1 SET id = 4 WHERE id = 2;
UPDATE t1 SET id = 4 WHERE id = 777;
ERROR HY000: Table 'auto_test_local.t1' is read only
DELETE FROM t1 WHERE id = 2;
DELETE FROM t1 WHERE id = 777;
ERROR HY000: Table 'auto_test_local.t1' is read only
DELETE FROM t1;
ERROR HY000: Table 'auto_test_local.t1' is read only
......@@ -424,7 +420,6 @@ Error 1146 Table 'auto_test_remote.ter1_1' doesn't exist
DELETE FROM t1;
Warnings:
Error 12702 Remote table 'auto_test_remote.ter1_1' is not found
Error 12702 Remote table 'auto_test_remote.ter1_1' is not found
Error 1146 Table 'auto_test_remote.ter1_1' doesn't exist
TRUNCATE t1;
Warnings:
......
......@@ -46,6 +46,7 @@
#include "spd_table.h"
extern struct charset_info_st *spd_charset_utf8_bin;
extern bool volatile *spd_abort_loop;
extern handlerton *spider_hton_ptr;
extern pthread_mutex_t spider_open_conn_mutex;
......@@ -1504,10 +1505,10 @@ int spider_db_mysql::connect(
DBUG_PRINT("info",("spider thd->killed=%s",
thd ? (thd->killed ? "TRUE" : "FALSE") : "NULL"));
DBUG_PRINT("info",("spider abort_loop=%s",
abort_loop ? "TRUE" : "FALSE"));
*spd_abort_loop ? "TRUE" : "FALSE"));
if (
(thd && thd->killed) ||
abort_loop
*spd_abort_loop
) {
DBUG_RETURN(ER_SPIDER_COND_SKIP_NUM);
}
......@@ -1581,10 +1582,10 @@ int spider_db_mysql::connect(
DBUG_PRINT("info",("spider thd->killed=%s",
thd ? (thd->killed ? "TRUE" : "FALSE") : "NULL"));
DBUG_PRINT("info",("spider abort_loop=%s",
abort_loop ? "TRUE" : "FALSE"));
*spd_abort_loop ? "TRUE" : "FALSE"));
if (
(thd && thd->killed) ||
abort_loop
*spd_abort_loop
) {
DBUG_RETURN(ER_SPIDER_COND_SKIP_NUM);
}
......
......@@ -40,6 +40,8 @@
#include "spd_udf.h"
#include "spd_malloc.h"
extern bool volatile *spd_abort_loop;
extern handlerton *spider_hton_ptr;
#ifdef HAVE_PSI_INTERFACE
......@@ -1276,10 +1278,10 @@ int spider_ping_table_mon_from_table(
DBUG_PRINT("info",("spider thd->killed=%s",
thd ? (thd->killed ? "TRUE" : "FALSE") : "NULL"));
DBUG_PRINT("info",("spider abort_loop=%s",
abort_loop ? "TRUE" : "FALSE"));
*spd_abort_loop ? "TRUE" : "FALSE"));
if (
(thd && thd->killed) ||
abort_loop
*spd_abort_loop
) {
DBUG_RETURN(ER_SPIDER_COND_SKIP_NUM);
}
......@@ -1338,10 +1340,10 @@ int spider_ping_table_mon_from_table(
DBUG_PRINT("info",("spider thd->killed=%s",
thd ? (thd->killed ? "TRUE" : "FALSE") : "NULL"));
DBUG_PRINT("info",("spider abort_loop=%s",
abort_loop ? "TRUE" : "FALSE"));
*spd_abort_loop ? "TRUE" : "FALSE"));
if (
(thd && thd->killed) ||
abort_loop
*spd_abort_loop
) {
error_num = ER_SPIDER_COND_SKIP_NUM;
break;
......@@ -1449,10 +1451,10 @@ int spider_ping_table_mon_from_table(
DBUG_PRINT("info",("spider thd->killed=%s",
thd ? (thd->killed ? "TRUE" : "FALSE") : "NULL"));
DBUG_PRINT("info",("spider abort_loop=%s",
abort_loop ? "TRUE" : "FALSE"));
*spd_abort_loop ? "TRUE" : "FALSE"));
if (
(thd && thd->killed) ||
abort_loop
*spd_abort_loop
) {
error_num = ER_SPIDER_COND_SKIP_NUM;
} else {
......
......@@ -51,6 +51,7 @@ HASH *spd_db_att_xid_cache;
struct charset_info_st *spd_charset_utf8_bin;
const char **spd_defaults_extra_file;
const char **spd_defaults_file;
bool volatile *spd_abort_loop;
handlerton *spider_hton_ptr;
SPIDER_DBTON spider_dbton[SPIDER_DBTON_SIZE];
......@@ -6215,6 +6216,8 @@ int spider_db_init(
GetProcAddress(current_module, "my_defaults_extra_file");
spd_defaults_file = (const char **)
GetProcAddress(current_module, "my_defaults_file");
spd_abort_loop = (bool volatile *)
GetProcAddress(current_module, "?abort_loop@@3_NC");
#else
spd_db_att_thread_id = &thread_id;
#ifdef XID_CACHE_IS_SPLITTED
......@@ -6228,6 +6231,7 @@ int spider_db_init(
spd_charset_utf8_bin = &my_charset_utf8_bin;
spd_defaults_extra_file = &my_defaults_extra_file;
spd_defaults_file = &my_defaults_file;
spd_abort_loop = &abort_loop;
#endif
#ifdef HAVE_PSI_INTERFACE
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment