mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge chunk from trunk.
This commit is contained in:
@ -106,4 +106,21 @@ drop table t1;
|
||||
set global binlog_cache_size=@bcs;
|
||||
set session autocommit = @ac;
|
||||
|
||||
#
|
||||
# Bug#33798: prepared statements improperly handle large unsigned ints
|
||||
#
|
||||
--disable_warnings
|
||||
drop table if exists t1;
|
||||
--enable_warnings
|
||||
reset master;
|
||||
create table t1 (a bigint unsigned, b bigint(20) unsigned);
|
||||
prepare stmt from "insert into t1 values (?,?)";
|
||||
set @a= 9999999999999999;
|
||||
set @b= 14632475938453979136;
|
||||
execute stmt using @a, @b;
|
||||
deallocate prepare stmt;
|
||||
drop table t1;
|
||||
--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/ /Server ver: [^,]*,/Server version,/
|
||||
show binlog events from 0;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
24
mysql-test/t/binlog_start_comment.test
Normal file
24
mysql-test/t/binlog_start_comment.test
Normal file
@ -0,0 +1,24 @@
|
||||
# Test case for bug#32205 Replaying statements from mysqlbinlog fails
|
||||
# with a syntax error, replicates fine
|
||||
|
||||
source include/have_log_bin.inc;
|
||||
source include/have_local_infile.inc;
|
||||
|
||||
reset master;
|
||||
--disable_warnings
|
||||
drop table if exists t1,t2;
|
||||
--enable_warnings
|
||||
create table t1 (word varchar(20)) -- create table t1;
|
||||
create table t2 (word varchar(20)) -- create table t2;
|
||||
load data infile '../std_data_ln/words.dat' into table t1 -- load data to t1;
|
||||
insert into t2 values ("Ada");
|
||||
flush logs;
|
||||
select * from t2;
|
||||
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ $MYSQLTEST_VARDIR/log/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/binlog_start_comment.binlog
|
||||
--exec $MYSQL --local-infile=1 < $MYSQLTEST_VARDIR/tmp/binlog_start_comment.binlog
|
||||
flush logs;
|
||||
select * from t2;
|
||||
|
||||
# clean up
|
||||
drop table t1,t2;
|
||||
#--system rm $MYSQLTEST_VARDIR/tmp/binlog_start_comment.binlog
|
@ -128,6 +128,7 @@ select * from t3;
|
||||
let $VERSION=`select version()`;
|
||||
--replace_result $VERSION VERSION
|
||||
--replace_column 2 # 5 #
|
||||
--replace_regex /file_id=[0-9]+/file_id=#/
|
||||
show binlog events;
|
||||
|
||||
drop table t1,t2,t3;
|
||||
|
@ -8,6 +8,10 @@ drop table if exists t3;
|
||||
drop table if exists t4;
|
||||
--enable_warnings
|
||||
|
||||
SET @test_character_set= 'cp932';
|
||||
SET @test_collation= 'cp932_japanese_ci';
|
||||
-- source include/ctype_common.inc
|
||||
|
||||
set names cp932;
|
||||
set character_set_database = cp932;
|
||||
|
||||
|
@ -252,3 +252,12 @@ CREATE TABLE t2(c1 INT) ENGINE=MERGE UNION=(t1);
|
||||
INSERT DELAYED INTO t2 VALUES(1);
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
#
|
||||
# Bug #32676: insert delayed crash with wrong column and function specified
|
||||
#
|
||||
CREATE TABLE t1 (a INT);
|
||||
--error ER_BAD_FIELD_ERROR
|
||||
INSERT DELAYED INTO t1 SET b= b();
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -234,50 +234,6 @@ DELETE FROM t1 ORDER BY (SELECT x);
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug #30234: Unexpected behavior using DELETE with AS and USING
|
||||
# '
|
||||
CREATE TABLE t1 (
|
||||
a INT
|
||||
);
|
||||
|
||||
CREATE TABLE t2 (
|
||||
a INT
|
||||
);
|
||||
|
||||
CREATE DATABASE db1;
|
||||
CREATE TABLE db1.t1 (
|
||||
a INT
|
||||
);
|
||||
INSERT INTO db1.t1 (a) SELECT * FROM t1;
|
||||
|
||||
CREATE DATABASE db2;
|
||||
CREATE TABLE db2.t1 (
|
||||
a INT
|
||||
);
|
||||
INSERT INTO db2.t1 (a) SELECT * FROM t2;
|
||||
|
||||
--error ER_PARSE_ERROR
|
||||
DELETE FROM t1 alias USING t1, t2 alias WHERE t1.a = alias.a;
|
||||
DELETE FROM alias USING t1, t2 alias WHERE t1.a = alias.a;
|
||||
DELETE FROM t1, alias USING t1, t2 alias WHERE t1.a = alias.a;
|
||||
--error ER_UNKNOWN_TABLE
|
||||
DELETE FROM t1, t2 USING t1, t2 alias WHERE t1.a = alias.a;
|
||||
--error ER_PARSE_ERROR
|
||||
DELETE FROM db1.t1 alias USING db1.t1, db2.t1 alias WHERE db1.t1.a = alias.a;
|
||||
--error ER_UNKNOWN_TABLE
|
||||
DELETE FROM alias USING db1.t1, db2.t1 alias WHERE db1.t1.a = alias.a;
|
||||
DELETE FROM db2.alias USING db1.t1, db2.t1 alias WHERE db1.t1.a = alias.a;
|
||||
DELETE FROM t1 USING t1 WHERE a = 1;
|
||||
SELECT * FROM t1;
|
||||
--error ER_PARSE_ERROR
|
||||
DELETE FROM t1 alias USING t1 alias WHERE a = 2;
|
||||
SELECT * FROM t1;
|
||||
|
||||
DROP TABLE t1, t2;
|
||||
DROP DATABASE db1;
|
||||
DROP DATABASE db2;
|
||||
|
||||
#
|
||||
# Bug 31742: delete from ... order by function call that causes an error,
|
||||
# asserts server
|
||||
|
@ -66,4 +66,32 @@ explain extended select * from t1 having 1;
|
||||
drop view v1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #32241: memory corruption due to large index map in 'Range checked for
|
||||
# each record'
|
||||
#
|
||||
|
||||
CREATE TABLE t1(c INT);
|
||||
INSERT INTO t1 VALUES (),();
|
||||
|
||||
CREATE TABLE t2 (b INT,
|
||||
KEY(b),KEY(b),KEY(b),KEY(b),KEY(b),
|
||||
KEY(b),KEY(b),KEY(b),KEY(b),KEY(b),
|
||||
KEY(b),KEY(b),KEY(b),KEY(b),KEY(b),
|
||||
KEY(b),KEY(b),KEY(b),KEY(b),KEY(b),
|
||||
KEY(b),KEY(b),KEY(b),KEY(b),KEY(b),
|
||||
KEY(b),KEY(b),KEY(b),KEY(b),KEY(b),
|
||||
KEY(b),KEY(b),KEY(b),KEY(b),KEY(b),
|
||||
KEY(b),KEY(b),KEY(b),KEY(b),KEY(b));
|
||||
|
||||
INSERT INTO t2 VALUES (),(),();
|
||||
|
||||
# We only need to make sure that there is no buffer overrun and the index map
|
||||
# is displayed correctly
|
||||
--replace_column 1 X 2 X 3 X 4 X 5 X 6 X 7 X 8 X 9 X
|
||||
EXPLAIN SELECT 1 FROM
|
||||
(SELECT 1 FROM t2,t1 WHERE b < c GROUP BY 1 LIMIT 1) AS d2;
|
||||
DROP TABLE t2;
|
||||
DROP TABLE t1;
|
||||
|
||||
# End of 5.0 tests.
|
||||
|
@ -1686,4 +1686,35 @@ insert into federated.t1 (a) values (1);
|
||||
select * from federated.t2;
|
||||
drop table federated.t1, federated.t2;
|
||||
|
||||
#
|
||||
# Bug #32374 crash with filesort when selecting from federated table and view
|
||||
#
|
||||
connection slave;
|
||||
create table t1 (a varchar(256));
|
||||
--disable_warnings
|
||||
drop view if exists v1;
|
||||
--enable_warnings
|
||||
create view v1 as select a from t1;
|
||||
--disable_query_log
|
||||
let $n= 100;
|
||||
while ($n)
|
||||
{
|
||||
insert into t1 values (repeat('a',200));
|
||||
dec $n;
|
||||
}
|
||||
--enable_query_log
|
||||
|
||||
connection master;
|
||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||
eval create table t1
|
||||
(a varchar(256)) engine=federated
|
||||
connection='mysql://root@127.0.0.1:$SLAVE_MYPORT/test/v1';
|
||||
|
||||
select 1 from t1 order by a;
|
||||
drop table t1;
|
||||
connection slave;
|
||||
drop table t1;
|
||||
drop view v1;
|
||||
|
||||
|
||||
source include/federated_cleanup.inc;
|
||||
|
@ -598,5 +598,46 @@ insert into t1 values (''),('');
|
||||
select group_concat(distinct f1) from t1;
|
||||
select group_concat(f1) from t1;
|
||||
drop table t1;
|
||||
# Bug#32798: DISTINCT in GROUP_CONCAT clause fails when ordering by a column
|
||||
# with null values
|
||||
#'
|
||||
CREATE TABLE t1 (a INT, b INT);
|
||||
|
||||
INSERT INTO t1 VALUES (1, 1), (2, 2), (2, 3);
|
||||
|
||||
SELECT GROUP_CONCAT(DISTINCT a ORDER BY b) FROM t1;
|
||||
SELECT GROUP_CONCAT(DISTINCT a ORDER BY b DESC) FROM t1;
|
||||
SELECT GROUP_CONCAT(DISTINCT a) FROM t1;
|
||||
|
||||
SELECT GROUP_CONCAT(DISTINCT a + 1 ORDER BY 3 - b) FROM t1;
|
||||
SELECT GROUP_CONCAT(DISTINCT a + 1 ORDER BY b) FROM t1;
|
||||
SELECT GROUP_CONCAT(a ORDER BY 3 - b) FROM t1;
|
||||
|
||||
CREATE TABLE t2 (a INT, b INT, c INT, d INT);
|
||||
|
||||
# There is one duplicate in the expression list: 1,10
|
||||
# There is one duplicate in ORDER BY list, but that shouldnt matter: 1,10
|
||||
INSERT INTO t2 VALUES (1,1, 1,1), (1,1, 2,2), (1,2, 2,1), (2,1, 1,2);
|
||||
|
||||
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY c, d) FROM t2;
|
||||
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY d, c) FROM t2;
|
||||
|
||||
CREATE TABLE t3 (a INT, b INT, c INT);
|
||||
|
||||
INSERT INTO t3 VALUES (1, 1, 1), (2, 1, 2), (3, 2, 1);
|
||||
|
||||
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY b, c) FROM t3;
|
||||
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY c, b) FROM t3;
|
||||
|
||||
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY a, b) FROM t1;
|
||||
SELECT GROUP_CONCAT(DISTINCT b, a ORDER BY a, b) FROM t1;
|
||||
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY b, a) FROM t1;
|
||||
SELECT GROUP_CONCAT(DISTINCT b, a ORDER BY a, b) FROM t1;
|
||||
SELECT GROUP_CONCAT(DISTINCT a ORDER BY a, b) FROM t1;
|
||||
SELECT GROUP_CONCAT(DISTINCT b ORDER BY b, a) FROM t1;
|
||||
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY a) FROM t1;
|
||||
SELECT GROUP_CONCAT(DISTINCT b, a ORDER BY b) FROM t1;
|
||||
|
||||
DROP TABLE t1, t2, t3;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -901,5 +901,20 @@ SELECT COUNT(*), a FROM t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug #33133: Views are not transparent
|
||||
#
|
||||
|
||||
set SQL_MODE=ONLY_FULL_GROUP_BY;
|
||||
|
||||
CREATE TABLE t1 (a INT);
|
||||
INSERT INTO t1 VALUES (1),(2),(3),(4);
|
||||
CREATE VIEW v1 AS SELECT a,(a + 1) AS y FROM t1;
|
||||
EXPLAIN EXTENDED SELECT y FROM v1 GROUP BY v1.y;
|
||||
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
||||
SET SQL_MODE=DEFAULT;
|
||||
|
||||
###
|
||||
--echo End of 5.0 tests
|
||||
|
@ -204,6 +204,31 @@ SELECT NAME_CONST('test', 1.0);
|
||||
SELECT NAME_CONST('test', -1.0);
|
||||
SELECT NAME_CONST('test', 'test');
|
||||
|
||||
#
|
||||
# Bug #27545: erroneous usage of NAME_CONST with a name as the first parameter
|
||||
# resolved against a column name of a derived table hangs the client
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a int);
|
||||
INSERT INTO t1 VALUES (5), (2);
|
||||
|
||||
--error ER_WRONG_ARGUMENTS
|
||||
SELECT NAME_CONST(x,2) FROM (SELECT a x FROM t1) t;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
#
|
||||
# Bug #32559: connection hangs on query with name_const
|
||||
#
|
||||
CREATE TABLE t1(a INT);
|
||||
INSERT INTO t1 VALUES (), (), ();
|
||||
--error ER_WRONG_ARGUMENTS
|
||||
SELECT NAME_CONST(a, '1') FROM t1;
|
||||
--error ER_WRONG_ARGUMENTS
|
||||
SET INSERT_ID= NAME_CONST(a, a);
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug #31349: ERROR 1062 (23000): Duplicate entry '' for key 'group_key'
|
||||
#
|
||||
|
@ -787,4 +787,21 @@ select concat(a,ifnull(min(date_format(now(), '%Y-%m-%d')),' ull')) from t1;
|
||||
set lc_time_names=en_US;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug#32180: DATE_ADD treats datetime numeric argument as DATE
|
||||
# instead of DATETIME
|
||||
#
|
||||
|
||||
select DATE_ADD('20071108181000', INTERVAL 1 DAY);
|
||||
select DATE_ADD(20071108181000, INTERVAL 1 DAY);
|
||||
select DATE_ADD('20071108', INTERVAL 1 DAY);
|
||||
select DATE_ADD(20071108, INTERVAL 1 DAY);
|
||||
|
||||
#
|
||||
# Bug#32770: LAST_DAY() returns a DATE, but somehow internally keeps
|
||||
# track of the TIME.
|
||||
#
|
||||
|
||||
select LAST_DAY('2007-12-06 08:59:19.05') - INTERVAL 1 SECOND;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -439,6 +439,48 @@ INSERT INTO `t1` VALUES ('','0000-00-00');
|
||||
select geomfromtext(col9,col89) as a from t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug #31158 Spatial, Union, LONGBLOB vs BLOB bug (crops data)
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (
|
||||
geomdata polygon NOT NULL,
|
||||
SPATIAL KEY index_geom (geomdata)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin2 DELAY_KEY_WRITE=1 ROW_FORMAT=FIXED;
|
||||
|
||||
CREATE TABLE t2 (
|
||||
geomdata polygon NOT NULL,
|
||||
SPATIAL KEY index_geom (geomdata)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin2 DELAY_KEY_WRITE=1 ROW_FORMAT=FIXED;
|
||||
|
||||
CREATE TABLE t3
|
||||
select
|
||||
aswkb(ws.geomdata) AS geomdatawkb
|
||||
from
|
||||
t1 ws
|
||||
union
|
||||
select
|
||||
aswkb(ws.geomdata) AS geomdatawkb
|
||||
from
|
||||
t2 ws;
|
||||
|
||||
describe t3;
|
||||
|
||||
drop table t1;
|
||||
drop table t2;
|
||||
drop table t3;
|
||||
|
||||
#
|
||||
# Bug #30284 spatial key corruption
|
||||
#
|
||||
|
||||
create table t1(col1 geometry default null,col15 geometrycollection not
|
||||
null,spatial index(col15),index(col1(15)))engine=myisam;
|
||||
insert into t1 set col15 = GeomFromText('POINT(6 5)');
|
||||
insert into t1 set col15 = GeomFromText('POINT(6 5)');
|
||||
check table t1 extended;
|
||||
drop table t1;
|
||||
|
||||
--echo End of 4.1 tests
|
||||
|
||||
#
|
||||
@ -600,4 +642,13 @@ SELECT 1;
|
||||
|
||||
-- source include/gis_keys.inc
|
||||
|
||||
#
|
||||
# Bug #31155 gis types in union'd select cause crash
|
||||
#
|
||||
|
||||
create table `t1` (`col002` point)engine=myisam;
|
||||
insert into t1 values (),(),();
|
||||
select min(`col002`) from t1 union select `col002` from t1;
|
||||
drop table t1;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -849,4 +849,48 @@ SELECT * FROM t1 GROUP BY c2 ORDER BY c2 DESC, c1 DESC;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
# Bug #31797: error while parsing subqueries -- WHERE is parsed as HAVING
|
||||
#
|
||||
CREATE TABLE t1 ( a INT, b INT );
|
||||
|
||||
SELECT b c, (SELECT a FROM t1 WHERE b = c)
|
||||
FROM t1;
|
||||
|
||||
SELECT b c, (SELECT a FROM t1 WHERE b = c)
|
||||
FROM t1
|
||||
HAVING b = 10;
|
||||
|
||||
--error ER_ILLEGAL_REFERENCE
|
||||
SELECT MAX(b) c, (SELECT a FROM t1 WHERE b = c)
|
||||
FROM t1
|
||||
HAVING b = 10;
|
||||
|
||||
SET @old_sql_mode = @@sql_mode;
|
||||
SET @@sql_mode='ONLY_FULL_GROUP_BY';
|
||||
|
||||
SELECT b c, (SELECT a FROM t1 WHERE b = c)
|
||||
FROM t1;
|
||||
|
||||
--error ER_NON_GROUPING_FIELD_USED
|
||||
SELECT b c, (SELECT a FROM t1 WHERE b = c)
|
||||
FROM t1
|
||||
HAVING b = 10;
|
||||
|
||||
--error ER_ILLEGAL_REFERENCE
|
||||
SELECT MAX(b) c, (SELECT a FROM t1 WHERE b = c)
|
||||
FROM t1
|
||||
HAVING b = 10;
|
||||
|
||||
INSERT INTO t1 VALUES (1, 1);
|
||||
SELECT b c, (SELECT a FROM t1 WHERE b = c)
|
||||
FROM t1;
|
||||
|
||||
INSERT INTO t1 VALUES (2, 1);
|
||||
--error ER_SUBQUERY_NO_1_ROW
|
||||
SELECT b c, (SELECT a FROM t1 WHERE b = c)
|
||||
FROM t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
SET @@sql_mode = @old_sql_mode;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -888,7 +888,31 @@ SELECT SQL_BIG_RESULT DISTINCT(a) FROM t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug #32268: Indexed queries give bogus MIN and MAX results
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a INT, b INT);
|
||||
INSERT INTO t1 (a, b) VALUES (1,1), (1,2), (1,3);
|
||||
INSERT INTO t1 SELECT a + 1, b FROM t1;
|
||||
INSERT INTO t1 SELECT a + 2, b FROM t1;
|
||||
|
||||
EXPLAIN
|
||||
SELECT a, MIN(b), MAX(b) FROM t1 GROUP BY a ORDER BY a DESC;
|
||||
SELECT a, MIN(b), MAX(b) FROM t1 GROUP BY a ORDER BY a DESC;
|
||||
|
||||
CREATE INDEX break_it ON t1 (a, b);
|
||||
|
||||
EXPLAIN
|
||||
SELECT a, MIN(b), MAX(b) FROM t1 GROUP BY a ORDER BY a;
|
||||
SELECT a, MIN(b), MAX(b) FROM t1 GROUP BY a ORDER BY a;
|
||||
|
||||
EXPLAIN
|
||||
SELECT a, MIN(b), MAX(b) FROM t1 GROUP BY a ORDER BY a DESC;
|
||||
SELECT a, MIN(b), MAX(b) FROM t1 GROUP BY a ORDER BY a DESC;
|
||||
|
||||
EXPLAIN
|
||||
SELECT a, MIN(b), MAX(b), AVG(b) FROM t1 GROUP BY a ORDER BY a DESC;
|
||||
SELECT a, MIN(b), MAX(b), AVG(b) FROM t1 GROUP BY a ORDER BY a DESC;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
@ -961,6 +961,19 @@ SELECT * FROM t1 ORDER BY b DESC, a ASC;
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug #32815: query with ORDER BY and a possible ref_or_null access
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (id int, type char(6), d int, INDEX idx(id,d)) ENGINE=InnoDB;
|
||||
INSERT INTO t1 VALUES
|
||||
(191, 'member', 1), (NULL, 'member', 3), (NULL, 'member', 4), (201, 'member', 2);
|
||||
|
||||
EXPLAIN SELECT * FROM t1 WHERE id=191 OR id IS NULL ORDER BY d;
|
||||
SELECT * FROM t1 WHERE id=191 OR id IS NULL ORDER BY d;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
# Bug #31137: Assertion failed: primary_key_no == -1 || primary_key_no == 0
|
||||
#
|
||||
create table t1(a char(10) not null, unique key aa(a(1)),
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# test of MERGE TABLES
|
||||
# Test of MERGE TABLES
|
||||
#
|
||||
|
||||
--disable_warnings
|
||||
@ -521,4 +521,26 @@ CREATE TABLE t2 (c1 INT) ENGINE=MERGE UNION=(t1) INSERT_METHOD=FIRST;
|
||||
CREATE TABLE IF NOT EXISTS t1 SELECT * FROM t2;
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
#
|
||||
# Bug #28837: MyISAM storage engine error (134) doing delete with self-join
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (id INT NOT NULL, ref INT NOT NULL, INDEX (id)) ENGINE=MyISAM;
|
||||
CREATE TABLE t2 LIKE t1;
|
||||
|
||||
INSERT INTO t2 (id, ref) VALUES (1,3), (2,1), (3,2), (4,5), (4,4);
|
||||
INSERT INTO t1 SELECT * FROM t2;
|
||||
INSERT INTO t1 SELECT * FROM t2;
|
||||
|
||||
CREATE TABLE t3 (id INT NOT NULL, ref INT NOT NULL, INDEX (id)) ENGINE=MERGE
|
||||
UNION(t1);
|
||||
|
||||
SELECT * FROM t3 AS a INNER JOIN t3 AS b USING (id) WHERE a.ref < b.ref;
|
||||
SELECT * FROM t3;
|
||||
DELETE FROM a USING t3 AS a INNER JOIN t3 AS b USING (id) WHERE a.ref < b.ref;
|
||||
SELECT * FROM t3;
|
||||
|
||||
DROP TABLE t1, t2, t3;
|
||||
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -262,7 +262,8 @@ eval select
|
||||
is not null;
|
||||
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
|
||||
eval select
|
||||
@a like "%#%error_code=0%ROLLBACK/*!*/;%ROLLBACK /* added by mysqlbinlog */;%",
|
||||
@a like "%#%error_code=0%ROLLBACK\\n/*!*/;%ROLLBACK /* added by mysqlbinlog */;%" OR
|
||||
@a like "%#%error_code=0%ROLLBACK\\r\\n/*!*/;%ROLLBACK /* added by mysqlbinlog */;%",
|
||||
@a not like "%#%error_code=%error_code=%";
|
||||
drop table t1, t2;
|
||||
|
||||
|
@ -1193,4 +1193,21 @@ SET @@myisam_repair_threads=1;
|
||||
CHECK TABLE t1 EXTENDED;
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug#28837: MyISAM storage engine error (134) doing delete with self-join
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (id int NOT NULL, ref int NOT NULL, INDEX (id)) ENGINE=MyISAM;
|
||||
CREATE TABLE t2 LIKE t1;
|
||||
|
||||
INSERT INTO t2 (id, ref) VALUES (1,3), (2,1), (3,2), (4,5), (4,4);
|
||||
INSERT INTO t1 SELECT * FROM t2;
|
||||
|
||||
SELECT * FROM t1 AS a INNER JOIN t1 AS b USING (id) WHERE a.ref < b.ref;
|
||||
SELECT * FROM t1;
|
||||
DELETE FROM a USING t1 AS a INNER JOIN t1 AS b USING (id) WHERE a.ref < b.ref;
|
||||
SELECT * FROM t1;
|
||||
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -41,6 +41,7 @@ select "--- Local --" as "";
|
||||
#
|
||||
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/
|
||||
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ $MYSQLTEST_VARDIR/log/master-bin.000001
|
||||
|
||||
# this should not fail but shouldn't produce any working statements
|
||||
@ -48,6 +49,7 @@ select "--- Local --" as "";
|
||||
select "--- Broken LOAD DATA --" as "";
|
||||
--enable_query_log
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/
|
||||
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ $MYSQLTEST_VARDIR/log/master-bin.000002 2> /dev/null
|
||||
|
||||
# this should show almost nothing
|
||||
@ -55,6 +57,7 @@ select "--- Broken LOAD DATA --" as "";
|
||||
select "--- --database --" as "";
|
||||
--enable_query_log
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/
|
||||
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --database=nottest $MYSQLTEST_VARDIR/log/master-bin.000001 2> /dev/null
|
||||
|
||||
# this test for position option
|
||||
@ -62,6 +65,7 @@ select "--- --database --" as "";
|
||||
select "--- --position --" as "";
|
||||
--enable_query_log
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/
|
||||
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --position=231 $MYSQLTEST_VARDIR/log/master-bin.000002
|
||||
|
||||
# These are tests for remote binlog.
|
||||
@ -73,6 +77,7 @@ select "--- Remote --" as "";
|
||||
|
||||
# This is broken now
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/
|
||||
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001
|
||||
|
||||
# This is broken too
|
||||
@ -80,6 +85,7 @@ select "--- Remote --" as "";
|
||||
select "--- Broken LOAD DATA --" as "";
|
||||
--enable_query_log
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/
|
||||
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000002 2> /dev/null
|
||||
|
||||
# And this too ! (altough it is documented)
|
||||
@ -87,6 +93,7 @@ select "--- Broken LOAD DATA --" as "";
|
||||
select "--- --database --" as "";
|
||||
--enable_query_log
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/
|
||||
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT --database=nottest master-bin.000001 2> /dev/null
|
||||
|
||||
# Strangely but this works
|
||||
@ -94,6 +101,7 @@ select "--- --database --" as "";
|
||||
select "--- --position --" as "";
|
||||
--enable_query_log
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/
|
||||
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --read-from-remote-server --position=231 --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000002
|
||||
|
||||
# Bug#7853 (mysqlbinlog does not accept input from stdin)
|
||||
@ -101,9 +109,11 @@ select "--- --position --" as "";
|
||||
select "--- reading stdin --" as "";
|
||||
--enable_query_log
|
||||
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
|
||||
--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/
|
||||
--exec $MYSQL_BINLOG --short-form - < $MYSQL_TEST_DIR/std_data/trunc_binlog.000001
|
||||
|
||||
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
|
||||
--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/
|
||||
--exec $MYSQL_BINLOG --short-form --position=79 - < $MYSQL_TEST_DIR/std_data/trunc_binlog.000001
|
||||
drop table t1,t2;
|
||||
|
||||
@ -166,6 +176,7 @@ call p1();
|
||||
drop procedure p1;
|
||||
--error 1305
|
||||
call p1();
|
||||
--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/
|
||||
--exec $MYSQL_BINLOG --short-form $MYSQLTEST_VARDIR/log/master-bin.000007
|
||||
--exec $MYSQL_BINLOG --short-form $MYSQLTEST_VARDIR/log/master-bin.000007 | $MYSQL
|
||||
call p1();
|
||||
@ -201,6 +212,7 @@ select hex(a) from t1;
|
||||
drop table t1;
|
||||
flush logs;
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/
|
||||
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ $MYSQLTEST_VARDIR/log/master-bin.000009
|
||||
|
||||
#
|
||||
|
@ -47,19 +47,12 @@ create database d_bug25347;
|
||||
use d_bug25347;
|
||||
create table t_bug25347 (a int);
|
||||
create view v_bug25347 as select * from t_bug25347;
|
||||
insert into t_bug25347 values (1),(2),(3);
|
||||
flush tables;
|
||||
--echo removing and creating
|
||||
--remove_file $MYSQLTEST_VARDIR/master-data/d_bug25347/t_bug25347.MYI
|
||||
--write_file $MYSQLTEST_VARDIR/master-data/d_bug25347/t_bug25347.MYI EOF
|
||||
--write_file $MYSQLTEST_VARDIR/master-data/d_bug25347/t_bug25347.MYI
|
||||
EOF
|
||||
--exec $MYSQL_CHECK --repair --databases d_bug25347
|
||||
--error 130
|
||||
insert into t_bug25347 values (4),(5),(6);
|
||||
--exec $MYSQL_CHECK --repair --use-frm --databases d_bug25347
|
||||
insert into t_bug25347 values (7),(8),(9);
|
||||
select * from t_bug25347;
|
||||
select * from v_bug25347;
|
||||
--exec $MYSQL_CHECK --repair --databases --use-frm d_bug25347
|
||||
drop view v_bug25347;
|
||||
drop table t_bug25347;
|
||||
drop database d_bug25347;
|
||||
|
@ -2083,5 +2083,46 @@ eval $show_statement;
|
||||
|
||||
drop table t1;
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Test change_user command
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
--error 1
|
||||
--exec echo "--change_user root,,inexistent" | $MYSQL_TEST 2>&1
|
||||
|
||||
--error 1
|
||||
--exec echo "--change_user inexistent,,test" | $MYSQL_TEST 2>&1
|
||||
|
||||
--error 1
|
||||
--exec echo "--change_user root,inexistent,test" | $MYSQL_TEST 2>&1
|
||||
|
||||
--change_user
|
||||
--change_user root
|
||||
--change_user root,,
|
||||
--change_user root,,test
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Test mkdir and rmdir command
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
mkdir $MYSQLTEST_VARDIR/tmp/testdir;
|
||||
rmdir $MYSQLTEST_VARDIR/tmp/testdir;
|
||||
|
||||
# Directory already exist
|
||||
mkdir $MYSQLTEST_VARDIR/tmp/testdir;
|
||||
--error 1
|
||||
mkdir $MYSQLTEST_VARDIR/tmp/testdir;
|
||||
|
||||
# Remove dir with file inside
|
||||
write_file $MYSQLTEST_VARDIR/tmp/testdir/file1.txt;
|
||||
hello
|
||||
EOF
|
||||
--error 1
|
||||
rmdir $MYSQLTEST_VARDIR/tmp/testdir;
|
||||
|
||||
remove_file $MYSQLTEST_VARDIR/tmp/testdir/file1.txt;
|
||||
rmdir $MYSQLTEST_VARDIR/tmp/testdir;
|
||||
|
||||
|
||||
--echo End of tests
|
||||
|
||||
|
@ -81,3 +81,34 @@ select * from t1;
|
||||
select * from t1;
|
||||
|
||||
drop table t1;
|
||||
|
||||
#For BUG#29851 TRUNCATE causes error 4350 from cluster in INSERT... ON DUPLICATE KEY UPDATE
|
||||
|
||||
connection con1;
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS truncate_test;
|
||||
--enable_warnings
|
||||
|
||||
CREATE TABLE truncate_test (
|
||||
i INT PRIMARY KEY,
|
||||
a INT,
|
||||
b VARCHAR(11),
|
||||
UNIQUE KEY (a)
|
||||
) ENGINE = NDB;
|
||||
|
||||
INSERT INTO truncate_test VALUES (1, 1, 'test') ON DUPLICATE KEY UPDATE b = 'new';
|
||||
INSERT INTO truncate_test VALUES (1, 1, 'test') ON DUPLICATE KEY UPDATE b = 'new';
|
||||
|
||||
connection con2;
|
||||
TRUNCATE truncate_test;
|
||||
|
||||
connection con1;
|
||||
INSERT INTO truncate_test VALUES (1, 1, 'test') ON DUPLICATE KEY UPDATE b = 'new';
|
||||
SELECT * FROM truncate_test;
|
||||
|
||||
connection con2;
|
||||
INSERT INTO truncate_test VALUES (1, 1, 'test') ON DUPLICATE KEY UPDATE b = 'new';
|
||||
SELECT * FROM truncate_test;
|
||||
|
||||
DROP TABLE truncate_test;
|
||||
|
294
mysql-test/t/ndb_auto_increment.test
Normal file
294
mysql-test/t/ndb_auto_increment.test
Normal file
@ -0,0 +1,294 @@
|
||||
-- source include/have_ndb.inc
|
||||
-- source include/have_multi_ndb.inc
|
||||
-- source include/not_embedded.inc
|
||||
|
||||
--disable_warnings
|
||||
connection server1;
|
||||
DROP TABLE IF EXISTS t1,t2;
|
||||
connection server2;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
connection server1;
|
||||
--enable_warnings
|
||||
|
||||
set @old_auto_increment_offset = @@session.auto_increment_offset;
|
||||
set @old_auto_increment_increment = @@session.auto_increment_increment;
|
||||
set @old_ndb_autoincrement_prefetch_sz = @@session.ndb_autoincrement_prefetch_sz;
|
||||
|
||||
flush status;
|
||||
|
||||
create table t1 (a int not null auto_increment primary key) engine ndb;
|
||||
|
||||
# Step 1: Verify simple insert
|
||||
insert into t1 values (NULL);
|
||||
select * from t1 order by a;
|
||||
|
||||
# Step 2: Verify simple update with higher than highest value causes
|
||||
# next insert to use updated_value + 1
|
||||
update t1 set a = 5 where a = 1;
|
||||
insert into t1 values (NULL);
|
||||
select * from t1 order by a;
|
||||
|
||||
# Step 3: Verify insert that inserts higher than highest value causes
|
||||
# next insert to use inserted_value + 1
|
||||
insert into t1 values (7);
|
||||
insert into t1 values (NULL);
|
||||
select * from t1 order by a;
|
||||
|
||||
# Step 4: Verify that insert into hole, lower than highest value doesn't
|
||||
# affect next insert
|
||||
insert into t1 values (2);
|
||||
insert into t1 values (NULL);
|
||||
select * from t1 order by a;
|
||||
|
||||
# Step 5: Verify that update into hole, lower than highest value doesn't
|
||||
# affect next insert
|
||||
update t1 set a = 4 where a = 2;
|
||||
insert into t1 values (NULL);
|
||||
select * from t1 order by a;
|
||||
|
||||
# Step 6: Verify that delete of highest value doesn't cause the next
|
||||
# insert to reuse this value
|
||||
delete from t1 where a = 10;
|
||||
insert into t1 values (NULL);
|
||||
select * from t1 order by a;
|
||||
|
||||
# Step 7: Verify that REPLACE has the same effect as INSERT
|
||||
replace t1 values (NULL);
|
||||
select * from t1 order by a;
|
||||
replace t1 values (15);
|
||||
select * from t1 order by a;
|
||||
replace into t1 values (NULL);
|
||||
select * from t1 order by a;
|
||||
|
||||
# Step 8: Verify that REPLACE has the same effect as UPDATE
|
||||
replace t1 values (15);
|
||||
select * from t1 order by a;
|
||||
|
||||
# Step 9: Verify that IGNORE doesn't affect auto_increment
|
||||
insert ignore into t1 values (NULL);
|
||||
select * from t1 order by a;
|
||||
insert ignore into t1 values (15), (NULL);
|
||||
select * from t1 order by a;
|
||||
|
||||
# Step 10: Verify that on duplicate key as UPDATE behaves as an
|
||||
# UPDATE
|
||||
insert into t1 values (15)
|
||||
on duplicate key update a = 20;
|
||||
insert into t1 values (NULL);
|
||||
select * from t1 order by a;
|
||||
|
||||
# Step 11: Verify that on duplicate key as INSERT behaves as INSERT
|
||||
insert into t1 values (NULL) on duplicate key update a = 30;
|
||||
select * from t1 order by a;
|
||||
insert into t1 values (30) on duplicate key update a = 40;
|
||||
select * from t1 order by a;
|
||||
|
||||
#Step 12: Vefify INSERT IGNORE (bug#32055)
|
||||
insert ignore into t1 values(600),(NULL),(NULL),(610),(NULL);
|
||||
select * from t1 order by a;
|
||||
drop table t1;
|
||||
|
||||
#Step 13: Verify auto_increment of unique key
|
||||
create table t1 (a int not null primary key,
|
||||
b int not null unique auto_increment) engine ndb;
|
||||
insert into t1 values (1, NULL);
|
||||
insert into t1 values (3, NULL);
|
||||
update t1 set b = 3 where a = 3;
|
||||
insert into t1 values (4, NULL);
|
||||
select * from t1 order by a;
|
||||
drop table t1;
|
||||
|
||||
#Step 14: Verify that auto_increment_increment and auto_increment_offset
|
||||
# work as expected
|
||||
|
||||
CREATE TABLE t1 (
|
||||
pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
b INT NOT NULL,
|
||||
c INT NOT NULL UNIQUE
|
||||
) ENGINE=NDBCLUSTER;
|
||||
|
||||
CREATE TABLE t2 (
|
||||
pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
b INT NOT NULL,
|
||||
c INT NOT NULL UNIQUE
|
||||
) ENGINE=MYISAM;
|
||||
|
||||
SET @@session.auto_increment_increment=10;
|
||||
INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
SELECT * FROM t1 ORDER BY pk;
|
||||
SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
|
||||
TRUNCATE t1;
|
||||
TRUNCATE t2;
|
||||
SET @@session.auto_increment_offset=5;
|
||||
INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
INSERT INTO t1 (pk,b,c) VALUES (27,4,3),(NULL,5,4),(99,6,5),(NULL,7,6);
|
||||
INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
INSERT INTO t2 (pk,b,c) VALUES (27,4,3),(NULL,5,4),(99,6,5),(NULL,7,6);
|
||||
SELECT * FROM t1 ORDER BY pk;
|
||||
SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
|
||||
TRUNCATE t1;
|
||||
TRUNCATE t2;
|
||||
SET @@session.auto_increment_increment=2;
|
||||
INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
SELECT * FROM t1 ORDER BY pk;
|
||||
SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
CREATE TABLE t1 (
|
||||
pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
b INT NOT NULL,
|
||||
c INT NOT NULL UNIQUE
|
||||
) ENGINE=NDBCLUSTER AUTO_INCREMENT = 7;
|
||||
|
||||
CREATE TABLE t2 (
|
||||
pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
b INT NOT NULL,
|
||||
c INT NOT NULL UNIQUE
|
||||
) ENGINE=MYISAM AUTO_INCREMENT = 7;
|
||||
|
||||
SET @@session.auto_increment_offset=1;
|
||||
SET @@session.auto_increment_increment=1;
|
||||
INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
SELECT * FROM t1 ORDER BY pk;
|
||||
SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
CREATE TABLE t1 (
|
||||
pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
b INT NOT NULL,
|
||||
c INT NOT NULL UNIQUE
|
||||
) ENGINE=NDBCLUSTER AUTO_INCREMENT = 3;
|
||||
|
||||
CREATE TABLE t2 (
|
||||
pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
b INT NOT NULL,
|
||||
c INT NOT NULL UNIQUE
|
||||
) ENGINE=MYISAM AUTO_INCREMENT = 3;
|
||||
|
||||
SET @@session.auto_increment_offset=5;
|
||||
SET @@session.auto_increment_increment=10;
|
||||
INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
SELECT * FROM t1 ORDER BY pk;
|
||||
SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
CREATE TABLE t1 (
|
||||
pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
b INT NOT NULL,
|
||||
c INT NOT NULL UNIQUE
|
||||
) ENGINE=NDBCLUSTER AUTO_INCREMENT = 7;
|
||||
|
||||
CREATE TABLE t2 (
|
||||
pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
b INT NOT NULL,
|
||||
c INT NOT NULL UNIQUE
|
||||
) ENGINE=MYISAM AUTO_INCREMENT = 7;
|
||||
|
||||
SET @@session.auto_increment_offset=5;
|
||||
SET @@session.auto_increment_increment=10;
|
||||
INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
SELECT * FROM t1 ORDER BY pk;
|
||||
SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
CREATE TABLE t1 (
|
||||
pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
b INT NOT NULL,
|
||||
c INT NOT NULL UNIQUE
|
||||
) ENGINE=NDBCLUSTER AUTO_INCREMENT = 5;
|
||||
|
||||
CREATE TABLE t2 (
|
||||
pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
b INT NOT NULL,
|
||||
c INT NOT NULL UNIQUE
|
||||
) ENGINE=MYISAM AUTO_INCREMENT = 5;
|
||||
|
||||
SET @@session.auto_increment_offset=5;
|
||||
SET @@session.auto_increment_increment=10;
|
||||
INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
SELECT * FROM t1 ORDER BY pk;
|
||||
SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
CREATE TABLE t1 (
|
||||
pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
b INT NOT NULL,
|
||||
c INT NOT NULL UNIQUE
|
||||
) ENGINE=NDBCLUSTER AUTO_INCREMENT = 100;
|
||||
|
||||
CREATE TABLE t2 (
|
||||
pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
b INT NOT NULL,
|
||||
c INT NOT NULL UNIQUE
|
||||
) ENGINE=MYISAM AUTO_INCREMENT = 100;
|
||||
|
||||
SET @@session.auto_increment_offset=5;
|
||||
SET @@session.auto_increment_increment=10;
|
||||
INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
SELECT * FROM t1 ORDER BY pk;
|
||||
SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
#Step 15: Now verify that behaviour on multiple MySQL Servers behave
|
||||
# properly. Start by dropping table and recreating it to start
|
||||
# counters and id caches from zero again.
|
||||
--disable_warnings
|
||||
connection server2;
|
||||
SET @@session.auto_increment_offset=1;
|
||||
SET @@session.auto_increment_increment=1;
|
||||
set ndb_autoincrement_prefetch_sz = 32;
|
||||
drop table if exists t1;
|
||||
connection server1;
|
||||
SET @@session.auto_increment_offset=1;
|
||||
SET @@session.auto_increment_increment=1;
|
||||
set ndb_autoincrement_prefetch_sz = 32;
|
||||
--enable_warnings
|
||||
|
||||
|
||||
create table t1 (a int not null auto_increment primary key) engine ndb;
|
||||
# Basic test, ensure that the second server gets a new range.
|
||||
#Generate record with key = 1
|
||||
insert into t1 values (NULL);
|
||||
connection server2;
|
||||
#Generate record with key = 33
|
||||
insert into t1 values (NULL);
|
||||
connection server1;
|
||||
select * from t1 order by a;
|
||||
|
||||
#This insert should not affect the range of the second server
|
||||
insert into t1 values (20);
|
||||
connection server2;
|
||||
insert into t1 values (NULL);
|
||||
select * from t1 order by a;
|
||||
|
||||
connection server1;
|
||||
#This insert should remove cached values but also skip values already
|
||||
#taken by server2, given that there is no method of communicating with
|
||||
#the other server it should also cause a conflict
|
||||
connection server1;
|
||||
|
||||
insert into t1 values (35);
|
||||
insert into t1 values (NULL);
|
||||
connection server2;
|
||||
--error ER_DUP_ENTRY
|
||||
insert into t1 values (NULL);
|
||||
select * from t1 order by a;
|
||||
|
||||
insert into t1 values (100);
|
||||
insert into t1 values (NULL);
|
||||
connection server1;
|
||||
insert into t1 values (NULL);
|
||||
select * from t1 order by a;
|
||||
|
||||
set auto_increment_offset = @old_auto_increment_offset;
|
||||
set auto_increment_increment = @old_auto_increment_increment;
|
||||
set ndb_autoincrement_prefetch_sz = @old_ndb_autoincrement_prefetch_sz;
|
||||
|
||||
drop table t1;
|
@ -491,6 +491,7 @@ select * from t1;
|
||||
select * from t1;
|
||||
--exec $NDB_MGM --no-defaults -e "all start" > /dev/null
|
||||
--exec $NDB_TOOLS_DIR/ndb_waiter --no-defaults > /dev/null
|
||||
--source include/ndb_wait_connected.inc
|
||||
use test;
|
||||
drop database test_only_ndb_tables;
|
||||
|
||||
|
@ -25,6 +25,13 @@ insert into t1 values (1);
|
||||
--exec $NDB_MGM --no-defaults -e "all restart" >> $NDB_TOOLS_OUTPUT
|
||||
--exec $NDB_TOOLS_DIR/ndb_waiter --no-defaults -c $connect_str >> $NDB_TOOLS_OUTPUT
|
||||
|
||||
# Create separate connection and use that for detecting
|
||||
# when mysqld has reconnected to ndbd
|
||||
connect (ndb_wait_con,127.0.0.1,root,,test,$MASTER_MYPORT,);
|
||||
--source include/ndb_wait_connected.inc
|
||||
disconnect ndb_wait_con;
|
||||
connection server1;
|
||||
|
||||
--error 1297
|
||||
insert into t1 values (2);
|
||||
--error 1296
|
||||
@ -44,6 +51,7 @@ select * from t2 order by a limit 3;
|
||||
--exec $NDB_TOOLS_DIR/ndb_waiter --no-defaults -c $connect_str >> $NDB_TOOLS_OUTPUT
|
||||
|
||||
--connection server2
|
||||
--source include/ndb_wait_connected.inc
|
||||
create table t2 (a int key) engine=ndbcluster;
|
||||
insert into t2 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
|
||||
select * from t2 order by a limit 3;
|
||||
@ -58,6 +66,7 @@ select * from t2 order by a limit 3;
|
||||
--exec $NDB_TOOLS_DIR/ndb_waiter --no-defaults -c $connect_str >> $NDB_TOOLS_OUTPUT
|
||||
|
||||
--connection server1
|
||||
--source include/ndb_wait_connected.inc
|
||||
show tables;
|
||||
create table t2 (a int key) engine=ndbcluster;
|
||||
insert into t2 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
|
||||
|
@ -780,7 +780,25 @@ update ignore t1,t2 set a = 1, c = 1 where a = 3 and c = 3;
|
||||
select * from t1 order by a;
|
||||
drop table t1,t2;
|
||||
|
||||
#
|
||||
# Bug#31635
|
||||
#
|
||||
create table t1 (a varchar(100) primary key, b varchar(100)) engine = NDB;
|
||||
insert into t1 values
|
||||
('a', 'a'),('b','b'),('c', 'c'),('aa', 'aa'),('bb', 'bb'),('cc', 'cc');
|
||||
replace into t1 values ('a', '-a');
|
||||
replace into t1 values ('b', '-b');
|
||||
replace into t1 values ('c', '-c');
|
||||
|
||||
replace into t1 values ('aa', '-aa');
|
||||
replace into t1 values ('bb', '-bb');
|
||||
replace into t1 values ('cc', '-cc');
|
||||
|
||||
replace into t1 values ('aaa', '-aaa');
|
||||
replace into t1 values ('bbb', '-bbb');
|
||||
replace into t1 values ('ccc', '-ccc');
|
||||
select * from t1 order by 1,2;
|
||||
drop table t1;
|
||||
|
||||
# End of 5.0 tests
|
||||
--echo End of 5.0 tests
|
||||
|
||||
|
||||
|
109
mysql-test/t/ndb_bug31477.test
Normal file
109
mysql-test/t/ndb_bug31477.test
Normal file
@ -0,0 +1,109 @@
|
||||
--source include/have_ndb.inc
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists t1;
|
||||
--enable_warnings
|
||||
|
||||
# setup
|
||||
|
||||
connect (con1,localhost,root,,test);
|
||||
connect (con2,localhost,root,,test);
|
||||
|
||||
# unique index
|
||||
connection con1;
|
||||
create table t1(a int primary key, b int, c int, unique(b)) engine = ndb;
|
||||
insert into t1 values (2,2,2);
|
||||
insert into t1 values (3,3,3);
|
||||
insert into t1 values (4,4,4);
|
||||
|
||||
begin;
|
||||
insert into t1 values (1,1,1);
|
||||
|
||||
connection con2;
|
||||
begin;
|
||||
--error 1205
|
||||
update t1 set c = 2 where b = 1;
|
||||
rollback;
|
||||
|
||||
connection con1;
|
||||
rollback;
|
||||
drop table t1;
|
||||
# ordered index
|
||||
|
||||
connection con1;
|
||||
create table t1(a int primary key, b int, c int, key(b)) engine = ndb;
|
||||
insert into t1 values (2,2,2);
|
||||
insert into t1 values (3,3,3);
|
||||
insert into t1 values (4,4,4);
|
||||
|
||||
begin;
|
||||
insert into t1 values (1,1,1);
|
||||
|
||||
connection con2;
|
||||
begin;
|
||||
--error 1205
|
||||
update t1 set c = 2 where b = 1;
|
||||
rollback;
|
||||
|
||||
connection con1;
|
||||
rollback;
|
||||
drop table t1;
|
||||
|
||||
# multiple versions
|
||||
|
||||
--echo --con1
|
||||
connection con1;
|
||||
create table t1(a int primary key, b int, c int, key(b)) engine = ndb;
|
||||
insert into t1 values (1,1,1);
|
||||
insert into t1 values (2,2,2);
|
||||
insert into t1 values (3,3,3);
|
||||
insert into t1 values (4,4,4);
|
||||
|
||||
begin;
|
||||
update t1 set c = 10 where a = 1;
|
||||
update t1 set c = 20 where a = 1;
|
||||
update t1 set c = 30 where a = 1;
|
||||
|
||||
--echo --con1 c=30
|
||||
select * from t1 where b >= 1 order by b;
|
||||
--echo --con2 c=1
|
||||
connection con2;
|
||||
select * from t1 where b >= 1 order by b;
|
||||
|
||||
--echo --con1
|
||||
connection con1;
|
||||
delete from t1 where a = 1;
|
||||
|
||||
--echo --con1 c=none
|
||||
select * from t1 where b >= 1 order by b;
|
||||
--echo --con2 c=1
|
||||
connection con2;
|
||||
select * from t1 where b >= 1 order by b;
|
||||
|
||||
--echo --con1
|
||||
connection con1;
|
||||
commit;
|
||||
|
||||
--echo --con1 c=none
|
||||
select * from t1 where b >= 1 order by b;
|
||||
--echo --con2 c=none
|
||||
connection con2;
|
||||
select * from t1 where b >= 1 order by b;
|
||||
|
||||
--echo --con1
|
||||
connection con1;
|
||||
begin;
|
||||
insert into t1 values (1,1,1);
|
||||
update t1 set c = 10 where a = 1;
|
||||
update t1 set c = 20 where a = 1;
|
||||
update t1 set c = 30 where a = 1;
|
||||
|
||||
--echo --con1 c=30
|
||||
select * from t1 where b >= 1 order by b;
|
||||
--echo --con2 c=none
|
||||
connection con2;
|
||||
select * from t1 where b >= 1 order by b;
|
||||
|
||||
# this fails with "no such table" via con2 ???
|
||||
connection con1;
|
||||
drop table t1;
|
@ -1719,6 +1719,7 @@ set engine_condition_pushdown = 1;
|
||||
SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%');
|
||||
|
||||
# bug#29390 (scan filter is too large, discarded)
|
||||
# bug#34107 (previous limit was too large for TUP)
|
||||
|
||||
drop table t1;
|
||||
|
||||
@ -1737,9 +1738,11 @@ select a,b,d from t1
|
||||
where b in (0,1,2,5)
|
||||
order by b;
|
||||
|
||||
--echo -- big filter just below limit
|
||||
--disable_query_log
|
||||
select a,b,d from t1
|
||||
where b in (
|
||||
0,1,2,5,0,1,2,5,0,1,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
@ -1870,745 +1873,15 @@ select a,b,d from t1
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2)
|
||||
order by b;
|
||||
--enable_query_log
|
||||
|
||||
--echo -- big filter just above limit
|
||||
--disable_query_log
|
||||
select a,b,d from t1
|
||||
where b in (
|
||||
0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
|
||||
|
@ -638,142 +638,4 @@ create table t1(a int primary key, b int, unique key(b)) engine=ndb;
|
||||
insert ignore into t1 values (1,0), (2,0), (2,null), (3,null);
|
||||
select * from t1 order by a;
|
||||
drop table t1;
|
||||
|
||||
# Bug#26342 auto_increment_increment AND auto_increment_offset REALLY REALLY anger NDB cluster
|
||||
|
||||
CREATE TABLE t1 (
|
||||
pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
b INT NOT NULL,
|
||||
c INT NOT NULL UNIQUE
|
||||
) ENGINE=NDBCLUSTER;
|
||||
|
||||
CREATE TABLE t2 (
|
||||
pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
b INT NOT NULL,
|
||||
c INT NOT NULL UNIQUE
|
||||
) ENGINE=MYISAM;
|
||||
|
||||
SET @@session.auto_increment_increment=10;
|
||||
INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
SELECT * FROM t1 ORDER BY pk;
|
||||
SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
|
||||
TRUNCATE t1;
|
||||
TRUNCATE t2;
|
||||
SET @@session.auto_increment_offset=5;
|
||||
INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
INSERT INTO t1 (pk,b,c) VALUES (27,4,3),(NULL,5,4),(99,6,5),(NULL,7,6);
|
||||
INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
INSERT INTO t2 (pk,b,c) VALUES (27,4,3),(NULL,5,4),(99,6,5),(NULL,7,6);
|
||||
SELECT * FROM t1 ORDER BY pk;
|
||||
SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
|
||||
TRUNCATE t1;
|
||||
TRUNCATE t2;
|
||||
SET @@session.auto_increment_increment=2;
|
||||
INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
SELECT * FROM t1 ORDER BY pk;
|
||||
SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
CREATE TABLE t1 (
|
||||
pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
b INT NOT NULL,
|
||||
c INT NOT NULL UNIQUE
|
||||
) ENGINE=NDBCLUSTER AUTO_INCREMENT = 7;
|
||||
|
||||
CREATE TABLE t2 (
|
||||
pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
b INT NOT NULL,
|
||||
c INT NOT NULL UNIQUE
|
||||
) ENGINE=MYISAM AUTO_INCREMENT = 7;
|
||||
|
||||
SET @@session.auto_increment_offset=1;
|
||||
SET @@session.auto_increment_increment=1;
|
||||
INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
SELECT * FROM t1 ORDER BY pk;
|
||||
SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
CREATE TABLE t1 (
|
||||
pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
b INT NOT NULL,
|
||||
c INT NOT NULL UNIQUE
|
||||
) ENGINE=NDBCLUSTER AUTO_INCREMENT = 3;
|
||||
|
||||
CREATE TABLE t2 (
|
||||
pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
b INT NOT NULL,
|
||||
c INT NOT NULL UNIQUE
|
||||
) ENGINE=MYISAM AUTO_INCREMENT = 3;
|
||||
|
||||
SET @@session.auto_increment_offset=5;
|
||||
SET @@session.auto_increment_increment=10;
|
||||
INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
SELECT * FROM t1 ORDER BY pk;
|
||||
SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
CREATE TABLE t1 (
|
||||
pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
b INT NOT NULL,
|
||||
c INT NOT NULL UNIQUE
|
||||
) ENGINE=NDBCLUSTER AUTO_INCREMENT = 7;
|
||||
|
||||
CREATE TABLE t2 (
|
||||
pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
b INT NOT NULL,
|
||||
c INT NOT NULL UNIQUE
|
||||
) ENGINE=MYISAM AUTO_INCREMENT = 7;
|
||||
|
||||
SET @@session.auto_increment_offset=5;
|
||||
SET @@session.auto_increment_increment=10;
|
||||
INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
SELECT * FROM t1 ORDER BY pk;
|
||||
SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
CREATE TABLE t1 (
|
||||
pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
b INT NOT NULL,
|
||||
c INT NOT NULL UNIQUE
|
||||
) ENGINE=NDBCLUSTER AUTO_INCREMENT = 5;
|
||||
|
||||
CREATE TABLE t2 (
|
||||
pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
b INT NOT NULL,
|
||||
c INT NOT NULL UNIQUE
|
||||
) ENGINE=MYISAM AUTO_INCREMENT = 5;
|
||||
|
||||
SET @@session.auto_increment_offset=5;
|
||||
SET @@session.auto_increment_increment=10;
|
||||
INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
SELECT * FROM t1 ORDER BY pk;
|
||||
SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
CREATE TABLE t1 (
|
||||
pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
b INT NOT NULL,
|
||||
c INT NOT NULL UNIQUE
|
||||
) ENGINE=NDBCLUSTER AUTO_INCREMENT = 100;
|
||||
|
||||
CREATE TABLE t2 (
|
||||
pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
b INT NOT NULL,
|
||||
c INT NOT NULL UNIQUE
|
||||
) ENGINE=MYISAM AUTO_INCREMENT = 100;
|
||||
|
||||
SET @@session.auto_increment_offset=5;
|
||||
SET @@session.auto_increment_increment=10;
|
||||
INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
|
||||
SELECT * FROM t1 ORDER BY pk;
|
||||
SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
@ -231,16 +231,21 @@ select count(*)
|
||||
select * from t10_c order by a;
|
||||
# Bug #27775 cont'd
|
||||
# - auto inc info should be correct
|
||||
--replace_column 1 X 2 X 3 X 4 X 5 X 6 X 7 X 8 X 9 X 10 X 12 X 13 X 14 X 15 X 16 X 17 X 18 X
|
||||
show table status like 't1_c';
|
||||
--replace_column 1 X 2 X 3 X 4 X 5 X 6 X 7 X 8 X 9 X 10 X 12 X 13 X 14 X 15 X 16 X 17 X 18 X
|
||||
show table status like 't2_c';
|
||||
--replace_column 1 X 2 X 3 X 4 X 5 X 6 X 7 X 8 X 9 X 10 X 12 X 13 X 14 X 15 X 16 X 17 X 18 X
|
||||
show table status like 't4_c';
|
||||
--replace_column 1 X 2 X 3 X 4 X 5 X 6 X 7 X 8 X 9 X 10 X 12 X 13 X 14 X 15 X 16 X 17 X 18 X
|
||||
show table status like 't7_c';
|
||||
--replace_column 1 X 2 X 3 X 4 X 5 X 6 X 7 X 8 X 9 X 10 X 12 X 13 X 14 X 15 X 16 X 17 X 18 X
|
||||
show table status like 't10_c';
|
||||
select max(capgoaledatta) from t1_c;
|
||||
select auto_increment from information_schema.tables
|
||||
where table_name = 't1_c';
|
||||
select max(capgotod) from t2_c;
|
||||
select auto_increment from information_schema.tables
|
||||
where table_name = 't2_c';
|
||||
select max(capfa) from t4_c;
|
||||
select auto_increment from information_schema.tables
|
||||
where table_name = 't4_c';
|
||||
select max(dardtestard) from t7_c;
|
||||
select auto_increment from information_schema.tables
|
||||
where table_name = 't7_c';
|
||||
select max(a) from t10_c;
|
||||
select auto_increment from information_schema.tables
|
||||
where table_name = 't10_c';
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9, t10;
|
||||
|
@ -86,4 +86,28 @@ DROP TABLE t2;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#32533: SELECT INTO OUTFILE never escapes multibyte character
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (c1 VARCHAR(256));
|
||||
INSERT INTO t1 VALUES (0xC3);
|
||||
SELECT HEX(c1) FROM t1;
|
||||
|
||||
--let $file=$MYSQLTEST_VARDIR/tmp/bug32533.txt
|
||||
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--eval SELECT * INTO OUTFILE '$file' FIELDS ENCLOSED BY 0xC3 FROM t1
|
||||
TRUNCATE t1;
|
||||
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--eval SELECT HEX(LOAD_FILE('$file'))
|
||||
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--eval LOAD DATA INFILE '$file' INTO TABLE t1 FIELDS ENCLOSED BY 0xC3
|
||||
SELECT HEX(c1) FROM t1;
|
||||
|
||||
--remove_file $file
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo # End of 5.0 tests.
|
||||
|
@ -1807,4 +1807,21 @@ execute stmt using @a;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug#33798: prepared statements improperly handle large unsigned ints
|
||||
#
|
||||
--disable_warnings
|
||||
drop table if exists t1;
|
||||
--enable_warnings
|
||||
create table t1 (a bigint unsigned, b bigint(20) unsigned);
|
||||
prepare stmt from "insert into t1 values (?,?)";
|
||||
set @a= 9999999999999999;
|
||||
set @b= 14632475938453979136;
|
||||
insert into t1 values (@a, @b);
|
||||
select * from t1 where a = @a and b = @b;
|
||||
execute stmt using @a, @b;
|
||||
select * from t1 where a = @a and b = @b;
|
||||
deallocate prepare stmt;
|
||||
drop table t1;
|
||||
|
||||
--echo End of 5.0 tests.
|
||||
|
@ -935,4 +935,24 @@ SELECT * FROM t1 WHERE item='A1' AND started<='2005-12-02 00:00:00';
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo
|
||||
--echo BUG#32198 "Comparison of DATE with DATETIME still not using indexes correctly"
|
||||
--echo
|
||||
CREATE TABLE t1 (
|
||||
id int(11) NOT NULL auto_increment,
|
||||
dateval date default NULL,
|
||||
PRIMARY KEY (id),
|
||||
KEY dateval (dateval)
|
||||
) AUTO_INCREMENT=173;
|
||||
|
||||
INSERT INTO t1 VALUES
|
||||
(1,'2007-01-01'),(2,'2007-01-02'),(3,'2007-01-03'),(4,'2007-01-04'),
|
||||
(5,'2007-01-05'),(6,'2007-01-06'),(7,'2007-01-07'),(8,'2007-01-08'),
|
||||
(9,'2007-01-09'),(10,'2007-01-10'),(11,'2007-01-11');
|
||||
|
||||
--echo This must use range access:
|
||||
explain select * from t1 where dateval >= '2007-01-01 00:00:00' and dateval <= '2007-01-02 23:59:59';
|
||||
|
||||
drop table t1;
|
||||
|
||||
# End of 5.0 tests
|
||||
|
@ -117,4 +117,37 @@ connection default;
|
||||
drop table t1,t2;
|
||||
drop user test@localhost;
|
||||
|
||||
--echo #
|
||||
--echo # Bug #27440 read_only allows create and drop database
|
||||
--echo #
|
||||
--disable_warnings
|
||||
drop database if exists mysqltest_db1;
|
||||
drop database if exists mysqltest_db2;
|
||||
--enable_warnings
|
||||
|
||||
delete from mysql.user where User like 'mysqltest_%';
|
||||
delete from mysql.db where User like 'mysqltest_%';
|
||||
delete from mysql.tables_priv where User like 'mysqltest_%';
|
||||
delete from mysql.columns_priv where User like 'mysqltest_%';
|
||||
flush privileges;
|
||||
|
||||
grant all on mysqltest_db2.* to `mysqltest_u1`@`%`;
|
||||
create database mysqltest_db1;
|
||||
grant all on mysqltest_db1.* to `mysqltest_u1`@`%`;
|
||||
flush privileges;
|
||||
connect (con_bug27440,127.0.0.1,mysqltest_u1,,test,$MASTER_MYPORT,);
|
||||
connection con_bug27440;
|
||||
--error ER_OPTION_PREVENTS_STATEMENT
|
||||
create database mysqltest_db2;
|
||||
show databases like '%mysqltest_db2%';
|
||||
--error ER_OPTION_PREVENTS_STATEMENT
|
||||
drop database mysqltest_db1;
|
||||
disconnect con_bug27440;
|
||||
connection default;
|
||||
delete from mysql.user where User like 'mysqltest_%';
|
||||
delete from mysql.db where User like 'mysqltest_%';
|
||||
delete from mysql.tables_priv where User like 'mysqltest_%';
|
||||
delete from mysql.columns_priv where User like 'mysqltest_%';
|
||||
flush privileges;
|
||||
drop database mysqltest_db1;
|
||||
set global read_only=0;
|
||||
|
31
mysql-test/t/rpl_drop_view.test
Normal file
31
mysql-test/t/rpl_drop_view.test
Normal file
@ -0,0 +1,31 @@
|
||||
# test case for bug#30998
|
||||
# Drop View breaks replication if view does not exist
|
||||
#
|
||||
|
||||
source include/master-slave.inc;
|
||||
--disable_warnings
|
||||
drop table if exists t1, t2;
|
||||
drop view if exists v1, v2, v3, not_exist_view;
|
||||
--enable_warnings
|
||||
create table t1 (a int);
|
||||
create table t2 (b int);
|
||||
create table t3 (c int);
|
||||
create view v1 as select * from t1;
|
||||
create view v2 as select * from t2;
|
||||
create view v3 as select * from t3;
|
||||
--error 1051
|
||||
drop view not_exist_view;
|
||||
--error 1051
|
||||
drop view v1, not_exist_view;
|
||||
--error 1146
|
||||
select * from v1;
|
||||
drop view v2, v3;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
--error 1146
|
||||
select * from v1;
|
||||
--error 1146
|
||||
select * from v2;
|
||||
--error 1146
|
||||
select * from v3;
|
1
mysql-test/t/rpl_loaddata_map-master.opt
Normal file
1
mysql-test/t/rpl_loaddata_map-master.opt
Normal file
@ -0,0 +1 @@
|
||||
--read_buffer_size=9K --max_allowed_packet=8K
|
1
mysql-test/t/rpl_loaddata_map-slave.opt
Normal file
1
mysql-test/t/rpl_loaddata_map-slave.opt
Normal file
@ -0,0 +1 @@
|
||||
--max_allowed_packet=8K
|
52
mysql-test/t/rpl_loaddata_map.test
Normal file
52
mysql-test/t/rpl_loaddata_map.test
Normal file
@ -0,0 +1,52 @@
|
||||
#
|
||||
# check replication of load data with the server parameters subjected to
|
||||
# read_buffer_size > max_allowed_packet
|
||||
#
|
||||
# BUG#30435 loading large LOAD DATA INFILE breaks slave with
|
||||
# read_buffer_size set on master
|
||||
# BUG#33413 show binlog events fails if binlog has event size of close
|
||||
# to max_allowed_packet
|
||||
|
||||
source include/master-slave.inc;
|
||||
source include/have_innodb.inc;
|
||||
|
||||
--disable_query_log
|
||||
let $rows= 5000;
|
||||
create table t1 (id int not null primary key auto_increment);
|
||||
|
||||
while($rows)
|
||||
{
|
||||
eval insert into t1 values (null);
|
||||
dec $rows;
|
||||
}
|
||||
eval select * into outfile '$MYSQLTEST_VARDIR/tmp/bug30435_5k.txt' from t1;
|
||||
flush logs;
|
||||
--enable_query_log
|
||||
|
||||
connection master;
|
||||
create table t2 (id int not null primary key auto_increment);
|
||||
|
||||
select @@session.read_buffer_size - @@session.max_allowed_packet > 0 ;
|
||||
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
eval load data infile '$MYSQLTEST_VARDIR/tmp/bug30435_5k.txt' into table t2;
|
||||
select count(*) from t2 /* 5 000 */;
|
||||
|
||||
# the binglog will show fragmented Append_block events
|
||||
--let $binlog_start=98
|
||||
--replace_column 5 #
|
||||
--replace_regex /\/\* xid=.* \*\//\/* XID *\// /file_id=[0-9]+/file_id=#/
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--eval show binlog events in 'master-bin.000002' from $binlog_start
|
||||
|
||||
|
||||
sync_slave_with_master;
|
||||
#connection slave;
|
||||
select count(*) from t2 /* 5 000 */;
|
||||
|
||||
connection master;
|
||||
drop table t1, t2;
|
||||
sync_slave_with_master;
|
||||
remove_file $MYSQLTEST_VARDIR/tmp/bug30435_5k.txt;
|
||||
|
||||
--echo end of the tests
|
29
mysql-test/t/rpl_server_id.test
Normal file
29
mysql-test/t/rpl_server_id.test
Normal file
@ -0,0 +1,29 @@
|
||||
# Test for BUG#28908 Replication: set global server_id is not setting the session server_id
|
||||
|
||||
-- source include/have_log_bin.inc
|
||||
|
||||
let $saved_server_id=`select @@server_id`;
|
||||
set global server_id=1;
|
||||
reset master;
|
||||
|
||||
-- disable_warnings
|
||||
drop table if exists t1,t2,t3;
|
||||
-- enable_warnings
|
||||
|
||||
create table t1 (a int);
|
||||
select @@server_id;
|
||||
source include/show_binlog_events2.inc;
|
||||
|
||||
set global server_id=2;
|
||||
create table t2 (b int);
|
||||
select @@server_id;
|
||||
source include/show_binlog_events2.inc;
|
||||
|
||||
set global server_id=3;
|
||||
create table t3 (c int);
|
||||
select @@server_id;
|
||||
source include/show_binlog_events2.inc;
|
||||
|
||||
# cleanup
|
||||
eval set global server_id=$saved_server_id;
|
||||
drop table t1,t2,t3;
|
@ -13,8 +13,10 @@ source include/master-slave.inc;
|
||||
# it back to get the non-transactional change into the table.
|
||||
|
||||
--echo **** On Master ****
|
||||
CREATE TABLE t1 (a INT, b SET('master','slave')) ENGINE=INNODB;
|
||||
CREATE TABLE t2 (a INT, b SET('master','slave')) ENGINE=MYISAM;
|
||||
CREATE TABLE t1 (a INT, b SET('master','slave')) ENGINE=InnoDB;
|
||||
CREATE TABLE t2 (a INT, b SET('master','slave')) ENGINE=MyISAM;
|
||||
CREATE TABLE t3 (a CHAR(20), b SET('master','slave')) ENGINE=InnoDB;
|
||||
CREATE TABLE t4 (a CHAR(20), b SET('master','slave')) ENGINE=MyISAM;
|
||||
|
||||
--echo ==== Skipping normal transactions ====
|
||||
|
||||
@ -195,9 +197,170 @@ sync_with_master;
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
SELECT * FROM t2 ORDER BY a;
|
||||
|
||||
--echo ==== Skipping first event of a LOAD DATA for a transactional table ====
|
||||
|
||||
--echo **** On Slave ****
|
||||
connection slave;
|
||||
STOP SLAVE;
|
||||
source include/wait_for_slave_to_stop.inc;
|
||||
|
||||
--echo **** On Master ****
|
||||
connection master;
|
||||
SET AUTOCOMMIT=1;
|
||||
|
||||
LOAD DATA INFILE '../std_data_ln/words.dat' INTO TABLE t3(a) SET b = 'master';
|
||||
INSERT INTO t3 VALUES ('Go Rin No Sho', 'master,slave');
|
||||
|
||||
save_master_pos;
|
||||
|
||||
SELECT COUNT(*) FROM t3;
|
||||
|
||||
# This will skip a begin event and the first INSERT of the
|
||||
# transaction, and it should keep skipping until it has reached the
|
||||
# transaction terminator.
|
||||
|
||||
--echo **** On Slave ****
|
||||
connection slave;
|
||||
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
|
||||
START SLAVE;
|
||||
source include/wait_for_slave_to_start.inc;
|
||||
sync_with_master;
|
||||
--echo -- Should only contain records marked 'master,slave'
|
||||
SELECT * FROM t3 ORDER BY a;
|
||||
|
||||
--echo **** On Master ****
|
||||
connection master;
|
||||
DELETE FROM t3;
|
||||
sync_slave_with_master;
|
||||
|
||||
--echo ==== Skipping first event of a LOAD DATA for a non-transactional table ====
|
||||
|
||||
--echo **** On Slave ****
|
||||
connection slave;
|
||||
STOP SLAVE;
|
||||
source include/wait_for_slave_to_stop.inc;
|
||||
|
||||
--echo **** On Master ****
|
||||
connection master;
|
||||
SET AUTOCOMMIT=1;
|
||||
|
||||
LOAD DATA INFILE '../std_data_ln/words.dat' INTO TABLE t4(a) SET b = 'master';
|
||||
INSERT INTO t4 VALUES ('Go Rin No Sho', 'master,slave');
|
||||
|
||||
save_master_pos;
|
||||
|
||||
SELECT COUNT(*) FROM t4;
|
||||
|
||||
# This will skip a begin event and the first INSERT of the
|
||||
# transaction, and it should keep skipping until it has reached the
|
||||
# transaction terminator.
|
||||
|
||||
--echo **** On Slave ****
|
||||
connection slave;
|
||||
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
|
||||
START SLAVE;
|
||||
source include/wait_for_slave_to_start.inc;
|
||||
sync_with_master;
|
||||
--echo -- Should only contain records marked 'master,slave'
|
||||
SELECT * FROM t4 ORDER BY a;
|
||||
|
||||
--echo **** On Master ****
|
||||
connection master;
|
||||
DELETE FROM t4;
|
||||
sync_slave_with_master;
|
||||
|
||||
--echo ==== Try with a big file so that we get an append_block event as well
|
||||
|
||||
--echo **** On Slave ****
|
||||
connection slave;
|
||||
STOP SLAVE;
|
||||
source include/wait_for_slave_to_stop.inc;
|
||||
|
||||
--echo **** On Master ****
|
||||
connection master;
|
||||
SET AUTOCOMMIT=1;
|
||||
|
||||
# This contain about 70 words, so we double it a few times to get more than 128 KiB
|
||||
SET SQL_LOG_BIN=0;
|
||||
LOAD DATA INFILE '../std_data_ln/words.dat' INTO TABLE t4(a) SET b = 'master';
|
||||
INSERT INTO t4 SELECT * FROM t4;
|
||||
INSERT INTO t4 SELECT * FROM t4;
|
||||
INSERT INTO t4 SELECT * FROM t4;
|
||||
INSERT INTO t4 SELECT * FROM t4;
|
||||
INSERT INTO t4 SELECT * FROM t4;
|
||||
INSERT INTO t4 SELECT * FROM t4;
|
||||
INSERT INTO t4 SELECT * FROM t4;
|
||||
INSERT INTO t4 SELECT * FROM t4;
|
||||
INSERT INTO t4 SELECT * FROM t4;
|
||||
INSERT INTO t4 SELECT * FROM t4;
|
||||
INSERT INTO t4 SELECT * FROM t4;
|
||||
SELECT a FROM t4 INTO OUTFILE 'rpl_slave_skip_words.dat';
|
||||
SET SQL_LOG_BIN=1;
|
||||
|
||||
# Start the real job
|
||||
LOAD DATA INFILE 'rpl_slave_skip_words.dat' INTO TABLE t4(a) SET b = 'master';
|
||||
INSERT INTO t4 VALUES ('Go Rin No Sho', 'master,slave');
|
||||
|
||||
#SHOW BINLOG EVENTS;
|
||||
|
||||
save_master_pos;
|
||||
|
||||
SELECT COUNT(*) FROM t4;
|
||||
|
||||
# This will skip a begin event and the first INSERT of the
|
||||
# transaction, and it should keep skipping until it has reached the
|
||||
# transaction terminator.
|
||||
|
||||
--echo **** On Slave ****
|
||||
connection slave;
|
||||
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
|
||||
START SLAVE;
|
||||
source include/wait_for_slave_to_start.inc;
|
||||
sync_with_master;
|
||||
--echo -- Should only contain records marked 'master,slave'
|
||||
SELECT * FROM t4 ORDER BY a;
|
||||
|
||||
--echo **** On Master ****
|
||||
connection master;
|
||||
DELETE FROM t4;
|
||||
sync_slave_with_master;
|
||||
|
||||
# Test to generate a Delete_file log event, and see that it works as well.
|
||||
--echo **** On Master ****
|
||||
connection master;
|
||||
CREATE TABLE t5 (a int, b int, c SET('master','slave'), PRIMARY KEY (a,b)) ENGINE=MyISAM;
|
||||
LOAD DATA INFILE '../std_data_ln/loaddata5.dat' INTO TABLE t5 FIELDS TERMINATED BY '' ENCLOSED BY '' (a,b) SET c='master,slave';
|
||||
|
||||
--echo **** On Slave ****
|
||||
sync_slave_with_master;
|
||||
STOP SLAVE;
|
||||
source include/wait_for_slave_to_stop.inc;
|
||||
|
||||
--echo **** On Master ****
|
||||
connection master;
|
||||
error ER_DUP_ENTRY;
|
||||
LOAD DATA INFILE '../std_data_ln/loaddata5.dat' INTO TABLE t5 FIELDS TERMINATED BY '' ENCLOSED BY '' (a,b) SET c='';
|
||||
INSERT INTO t5 VALUES (42, 42, 'master,slave');
|
||||
save_master_pos;
|
||||
|
||||
#SHOW BINLOG EVENTS;
|
||||
|
||||
SELECT * FROM t5;
|
||||
|
||||
--echo **** On Slave ****
|
||||
connection slave;
|
||||
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
|
||||
START SLAVE;
|
||||
source include/wait_for_slave_to_start.inc;
|
||||
|
||||
sync_with_master;
|
||||
SELECT * FROM t5;
|
||||
|
||||
connection slave;
|
||||
|
||||
--echo ==== Cleanup ====
|
||||
|
||||
--echo **** On Master ****
|
||||
connection master;
|
||||
DROP TABLE t1, t2;
|
||||
DROP TABLE t1, t2, t3, t4, t5;
|
||||
sync_slave_with_master;
|
||||
|
@ -560,7 +560,6 @@ set @a:= mysqltest2.f1();
|
||||
sync_slave_with_master;
|
||||
connection master;
|
||||
|
||||
|
||||
# Final inspection which verifies how all statements of this test file
|
||||
# were written to the binary log.
|
||||
--replace_column 2 # 5 #
|
||||
@ -577,3 +576,4 @@ set global log_bin_trust_function_creators=0;
|
||||
# Clean up
|
||||
drop database mysqltest;
|
||||
drop database mysqltest2;
|
||||
sync_slave_with_master;
|
||||
|
1
mysql-test/t/rpl_transaction-master.opt
Normal file
1
mysql-test/t/rpl_transaction-master.opt
Normal file
@ -0,0 +1 @@
|
||||
--innodb --debug=d,do_not_write_xid
|
1
mysql-test/t/rpl_transaction-slave.opt
Normal file
1
mysql-test/t/rpl_transaction-slave.opt
Normal file
@ -0,0 +1 @@
|
||||
--innodb
|
107
mysql-test/t/rpl_transaction.test
Normal file
107
mysql-test/t/rpl_transaction.test
Normal file
@ -0,0 +1,107 @@
|
||||
# Tests that transactions are replicated correctly, with various
|
||||
# combinations of non-transactional and transactional non-XA tables.
|
||||
# Also tests that an XA transaction where the master crashes just
|
||||
# before writing the XID log event is executed correctly. See below
|
||||
# for implementation details.
|
||||
|
||||
# Note: this test should not exist in 5.1 or higher. It has been
|
||||
# replaced by rpl_ndb_transaction.test, which tests a superset of what
|
||||
# this test tests.
|
||||
|
||||
source include/have_innodb.inc;
|
||||
source include/have_debug.inc;
|
||||
source include/master-slave.inc;
|
||||
|
||||
|
||||
CREATE TABLE tmyisam (a int) ENGINE = MYISAM;
|
||||
CREATE TABLE tinnodb (a int) ENGINE = INNODB;
|
||||
|
||||
SHOW CREATE TABLE tmyisam;
|
||||
SHOW CREATE TABLE tinnodb;
|
||||
|
||||
|
||||
--echo ==== Test 1: Non-XA Engines ====
|
||||
# Test that everything works fine with non-XA engines. We just try
|
||||
# all ways to do transactions involving ndb and/or myisam, with
|
||||
# rollback or commit.
|
||||
|
||||
--echo --- on master ---
|
||||
|
||||
SET AUTOCOMMIT = 1;
|
||||
|
||||
INSERT INTO tmyisam VALUES (1);
|
||||
|
||||
BEGIN;
|
||||
INSERT INTO tmyisam VALUES (2);
|
||||
INSERT INTO tmyisam VALUES (3);
|
||||
COMMIT;
|
||||
|
||||
BEGIN;
|
||||
INSERT INTO tmyisam VALUES (5);
|
||||
INSERT INTO tmyisam VALUES (6);
|
||||
--warning 1196
|
||||
ROLLBACK;
|
||||
|
||||
SELECT * FROM tmyisam ORDER BY a;
|
||||
|
||||
--echo --- on slave ---
|
||||
--sync_slave_with_master
|
||||
SELECT * FROM tmyisam ORDER BY a;
|
||||
|
||||
|
||||
--echo ==== Test 2: Master crash before writing XID event on XA engine ====
|
||||
# We now want to test the following scenario, to verify that BUG#26395
|
||||
# has been fixed:
|
||||
|
||||
# "master and slave have a transactional table that uses XA. Master
|
||||
# has AUTOCOMMIT on and executes a statement (in this case an
|
||||
# INSERT). Master crashes just before writing the XID event."
|
||||
|
||||
# In this scenario, master will roll back, so slave should not execute
|
||||
# the statement, and slave should roll back later when master is
|
||||
# restarted.
|
||||
|
||||
# However, we the master to be alive so that we are sure it replicates
|
||||
# the statement to the slave. So in the test case, we must therefore
|
||||
# not crash the master. Instead, we fake the crash by just not writing
|
||||
# the XID event to the binlog. This is done by the
|
||||
# --debug=d,do_not_write_xid flag in the .opt file.
|
||||
|
||||
# So, unlike if the master had crashed, the master *will* execute the
|
||||
# statement. But the slave should not execute it. Hence, after the
|
||||
# first test is executed, the expected result on master is a table
|
||||
# with one row, and on slave a table with no rows.
|
||||
|
||||
# To simulate the slave correctly, we wait until everything up to the
|
||||
# XID is replicated. We cannot sync_slave_with_master, because that
|
||||
# would wait for the transaction to end. Instead, we wait for
|
||||
# "sufficiently long time". Then we stop the slave.
|
||||
|
||||
# Note: since this puts the master binlog in an inconsistent state,
|
||||
# this should be the last test of the file.
|
||||
|
||||
--echo --- on master ---
|
||||
--connection master
|
||||
|
||||
INSERT INTO tinnodb VALUES (1);
|
||||
SELECT * FROM tinnodb ORDER BY a;
|
||||
|
||||
--echo --- on slave ---
|
||||
--connection slave
|
||||
--sleep 3
|
||||
STOP SLAVE;
|
||||
source include/wait_for_slave_to_stop.inc;
|
||||
--replace_column 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 #
|
||||
query_vertical SHOW SLAVE STATUS;
|
||||
# the following statement should show that nothing has been replicated
|
||||
SELECT * FROM tinnodb ORDER BY a;
|
||||
|
||||
|
||||
# clean up
|
||||
connection master;
|
||||
DROP TABLE tmyisam;
|
||||
DROP TABLE tinnodb;
|
||||
|
||||
connection slave;
|
||||
DROP TABLE tmyisam;
|
||||
DROP TABLE tinnodb;
|
@ -93,10 +93,12 @@ let $time=`select a from t1`;
|
||||
# - dump definers on the slave;
|
||||
|
||||
SELECT routine_name, definer
|
||||
FROM information_schema.routines;
|
||||
FROM information_schema.routines
|
||||
WHERE routine_name = 'bug12480';
|
||||
|
||||
SELECT trigger_name, definer
|
||||
FROM information_schema.triggers;
|
||||
FROM information_schema.triggers
|
||||
WHERE trigger_name = 't1_first';
|
||||
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
@ -111,10 +113,12 @@ select "--- On slave --" as "";
|
||||
# item.
|
||||
|
||||
SELECT routine_name, definer
|
||||
FROM information_schema.routines;
|
||||
FROM information_schema.routines
|
||||
WHERE routine_name = 'bug12480';
|
||||
|
||||
SELECT trigger_name, definer
|
||||
FROM information_schema.triggers;
|
||||
FROM information_schema.triggers
|
||||
WHERE trigger_name = 't1_first';
|
||||
|
||||
select a=b && a=c from t1;
|
||||
--disable_query_log
|
||||
|
62
mysql-test/t/rpl_user.test
Normal file
62
mysql-test/t/rpl_user.test
Normal file
@ -0,0 +1,62 @@
|
||||
# BUG#33862 completely failed DROP USER statement gets replicated
|
||||
|
||||
--source include/master-slave.inc
|
||||
|
||||
#
|
||||
# remove all users will be used in the test
|
||||
#
|
||||
connection master;
|
||||
set sql_log_bin=0;
|
||||
delete from mysql.user where Host='fakehost';
|
||||
set sql_log_bin=1;
|
||||
|
||||
connection slave;
|
||||
set sql_log_bin=0;
|
||||
delete from mysql.user where Host='fakehost';
|
||||
set sql_log_bin=1;
|
||||
|
||||
|
||||
#
|
||||
# Test create user
|
||||
#
|
||||
connection master;
|
||||
create user 'foo'@'fakehost';
|
||||
--error ER_CANNOT_USER
|
||||
create user 'foo'@'fakehost', 'bar'@'fakehost';
|
||||
--error ER_CANNOT_USER
|
||||
create user 'foo'@'fakehost', 'bar'@'fakehost';
|
||||
|
||||
sync_slave_with_master;
|
||||
select Host,User from mysql.user where Host='fakehost';
|
||||
|
||||
#
|
||||
# Test rename user
|
||||
#
|
||||
connection master;
|
||||
rename user 'foo'@'fakehost' to 'foofoo'@'fakehost';
|
||||
--error ER_CANNOT_USER
|
||||
rename user 'not_exist_user1'@'fakehost' to 'foobar'@'fakehost', 'bar'@'fakehost' to 'barbar'@'fakehost';
|
||||
--error ER_CANNOT_USER
|
||||
rename user 'not_exist_user1'@'fakehost' to 'foobar'@'fakehost', 'not_exist_user2'@'fakehost' to 'barfoo'@'fakehost';
|
||||
|
||||
sync_slave_with_master;
|
||||
select Host,User from mysql.user where Host='fakehost';
|
||||
|
||||
#
|
||||
# Test drop user
|
||||
#
|
||||
connection master;
|
||||
drop user 'foofoo'@'fakehost';
|
||||
--error ER_CANNOT_USER
|
||||
drop user 'not_exist_user1'@'fakehost', 'barbar'@'fakehost';
|
||||
--error ER_CANNOT_USER
|
||||
drop user 'not_exist_user1'@'fakehost', 'not_exist_user2'@'fakehost';
|
||||
|
||||
sync_slave_with_master;
|
||||
select Host,User from mysql.user where Host='fakehost';
|
||||
|
||||
#
|
||||
# show the binlog events on the master
|
||||
#
|
||||
connection master;
|
||||
source include/show_binlog_events.inc;
|
@ -3661,4 +3661,15 @@ DROP TABLE t2;
|
||||
|
||||
###########################################################################
|
||||
|
||||
#
|
||||
# Bug #32335: Error on BIGINT > NULL + 1
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (c1 BIGINT NOT NULL);
|
||||
INSERT INTO t1 (c1) VALUES (1);
|
||||
SELECT * FROM t1 WHERE c1 > NULL + 1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -117,14 +117,4 @@ select count(*) from information_schema.SCHEMA_PRIVILEGES;
|
||||
select count(*) from information_schema.TABLE_PRIVILEGES;
|
||||
select count(*) from information_schema.USER_PRIVILEGES;
|
||||
|
||||
#
|
||||
# Bug #32020: loading udfs while --skip-grant-tables is enabled causes out of
|
||||
# memory errors
|
||||
#
|
||||
|
||||
--error ER_CANT_INITIALIZE_UDF
|
||||
CREATE FUNCTION a RETURNS STRING SONAME '';
|
||||
--error ER_SP_DOES_NOT_EXIST
|
||||
DROP FUNCTION a;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -520,5 +520,82 @@ drop table t1;
|
||||
drop procedure proc_26977_broken;
|
||||
drop procedure proc_26977_works;
|
||||
|
||||
#
|
||||
# Bug#33618 Crash in sp_rcontext
|
||||
#
|
||||
|
||||
--disable_warnings
|
||||
drop procedure if exists proc_33618_h;
|
||||
drop procedure if exists proc_33618_c;
|
||||
--enable_warnings
|
||||
|
||||
delimiter //;
|
||||
|
||||
create procedure proc_33618_h(num int)
|
||||
begin
|
||||
declare count1 int default '0';
|
||||
declare vb varchar(30);
|
||||
declare last_row int;
|
||||
|
||||
while(num>=1) do
|
||||
set num=num-1;
|
||||
begin
|
||||
declare cur1 cursor for select `a` from t_33618;
|
||||
declare continue handler for not found set last_row = 1;
|
||||
set last_row:=0;
|
||||
open cur1;
|
||||
rep1:
|
||||
repeat
|
||||
begin
|
||||
declare exit handler for 1062 begin end;
|
||||
fetch cur1 into vb;
|
||||
if (last_row = 1) then
|
||||
## should generate a hpop instruction here
|
||||
leave rep1;
|
||||
end if;
|
||||
end;
|
||||
until last_row=1
|
||||
end repeat;
|
||||
close cur1;
|
||||
end;
|
||||
end while;
|
||||
end//
|
||||
|
||||
create procedure proc_33618_c(num int)
|
||||
begin
|
||||
declare count1 int default '0';
|
||||
declare vb varchar(30);
|
||||
declare last_row int;
|
||||
|
||||
while(num>=1) do
|
||||
set num=num-1;
|
||||
begin
|
||||
declare cur1 cursor for select `a` from t_33618;
|
||||
declare continue handler for not found set last_row = 1;
|
||||
set last_row:=0;
|
||||
open cur1;
|
||||
rep1:
|
||||
repeat
|
||||
begin
|
||||
declare cur2 cursor for select `b` from t_33618;
|
||||
fetch cur1 into vb;
|
||||
if (last_row = 1) then
|
||||
## should generate a cpop instruction here
|
||||
leave rep1;
|
||||
end if;
|
||||
end;
|
||||
until last_row=1
|
||||
end repeat;
|
||||
close cur1;
|
||||
end;
|
||||
end while;
|
||||
end//
|
||||
delimiter ;//
|
||||
|
||||
show procedure code proc_33618_h;
|
||||
show procedure code proc_33618_c;
|
||||
|
||||
drop procedure proc_33618_h;
|
||||
drop procedure proc_33618_c;
|
||||
|
||||
--echo End of 5.0 tests.
|
||||
|
@ -2112,6 +2112,69 @@ SELECT .inexistent();
|
||||
SELECT ..inexistent();
|
||||
USE test;
|
||||
|
||||
#
|
||||
# Bug#33983 (Stored Procedures: wrong end <label> syntax is accepted)
|
||||
#
|
||||
|
||||
--disable_warnings
|
||||
drop procedure if exists proc_33983_a;
|
||||
drop procedure if exists proc_33983_b;
|
||||
drop procedure if exists proc_33983_c;
|
||||
drop procedure if exists proc_33983_d;
|
||||
--enable_warnings
|
||||
|
||||
delimiter |;
|
||||
|
||||
--error ER_SP_LABEL_MISMATCH
|
||||
create procedure proc_33983_a()
|
||||
begin
|
||||
label1:
|
||||
begin
|
||||
label2:
|
||||
begin
|
||||
select 1;
|
||||
end label1;
|
||||
end;
|
||||
end|
|
||||
|
||||
--error ER_SP_LABEL_MISMATCH
|
||||
create procedure proc_33983_b()
|
||||
begin
|
||||
label1:
|
||||
repeat
|
||||
label2:
|
||||
repeat
|
||||
select 1;
|
||||
until FALSE end repeat label1;
|
||||
until FALSE end repeat;
|
||||
end|
|
||||
|
||||
--error ER_SP_LABEL_MISMATCH
|
||||
create procedure proc_33983_c()
|
||||
begin
|
||||
label1:
|
||||
while TRUE do
|
||||
label2:
|
||||
while TRUE do
|
||||
select 1;
|
||||
end while label1;
|
||||
end while;
|
||||
end|
|
||||
|
||||
--error ER_SP_LABEL_MISMATCH
|
||||
create procedure proc_33983_d()
|
||||
begin
|
||||
label1:
|
||||
loop
|
||||
label2:
|
||||
loop
|
||||
select 1;
|
||||
end loop label1;
|
||||
end loop;
|
||||
end|
|
||||
|
||||
delimiter ;|
|
||||
|
||||
#
|
||||
# BUG#NNNN: New bug synopsis
|
||||
#
|
||||
|
@ -7698,7 +7698,82 @@ DROP PROCEDURE db28318_a.t1;
|
||||
DROP PROCEDURE db28318_b.t2;
|
||||
DROP DATABASE db28318_a;
|
||||
DROP DATABASE db28318_b;
|
||||
USE test;
|
||||
|
||||
#
|
||||
# Bug#29770 Two handlers are allowed to catch an error in an stored procedure.
|
||||
#
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1;
|
||||
DROP PROCEDURE IF EXISTS bug29770;
|
||||
--enable_warnings
|
||||
|
||||
CREATE TABLE t1(a int);
|
||||
delimiter |;
|
||||
CREATE PROCEDURE bug29770()
|
||||
BEGIN
|
||||
DECLARE CONTINUE HANDLER FOR SQLSTATE '42S22' SET @state:= 'run';
|
||||
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET @exception:= 'run';
|
||||
SELECT x FROM t1;
|
||||
END|
|
||||
delimiter ;|
|
||||
CALL bug29770();
|
||||
SELECT @state, @exception;
|
||||
DROP TABLE t1;
|
||||
DROP PROCEDURE bug29770;
|
||||
|
||||
#
|
||||
# Bug#33618 Crash in sp_rcontext
|
||||
#
|
||||
|
||||
use test;
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists t_33618;
|
||||
drop procedure if exists proc_33618;
|
||||
--enable_warnings
|
||||
|
||||
create table t_33618 (`a` int, unique(`a`), `b` varchar(30)) engine=myisam;
|
||||
insert into t_33618 (`a`,`b`) values (1,'1'),(2,'2');
|
||||
|
||||
delimiter //;
|
||||
|
||||
create procedure proc_33618(num int)
|
||||
begin
|
||||
declare count1 int default '0';
|
||||
declare vb varchar(30);
|
||||
declare last_row int;
|
||||
|
||||
while(num>=1) do
|
||||
set num=num-1;
|
||||
begin
|
||||
declare cur1 cursor for select `a` from t_33618;
|
||||
declare continue handler for not found set last_row = 1;
|
||||
set last_row:=0;
|
||||
open cur1;
|
||||
rep1:
|
||||
repeat
|
||||
begin
|
||||
declare exit handler for 1062 begin end;
|
||||
fetch cur1 into vb;
|
||||
if (last_row = 1) then
|
||||
leave rep1;
|
||||
end if;
|
||||
end;
|
||||
until last_row=1
|
||||
end repeat;
|
||||
close cur1;
|
||||
end;
|
||||
end while;
|
||||
end//
|
||||
|
||||
delimiter ;//
|
||||
|
||||
call proc_33618(20);
|
||||
|
||||
drop table t_33618;
|
||||
drop procedure proc_33618;
|
||||
|
||||
--echo # ------------------------------------------------------------------
|
||||
--echo # -- End of 5.0 tests
|
||||
|
@ -32,7 +32,9 @@ SELECT 1 FROM (SELECT 1 as a) b WHERE 1 IN (SELECT (SELECT a));
|
||||
select (SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE(1));
|
||||
-- error 1108
|
||||
SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE((SELECT 1));
|
||||
-- error ER_BAD_FIELD_ERROR
|
||||
SELECT (SELECT 1) as a FROM (SELECT 1) b WHERE (SELECT a) IS NULL;
|
||||
-- error ER_BAD_FIELD_ERROR
|
||||
SELECT (SELECT 1) as a FROM (SELECT 1) b WHERE (SELECT a) IS NOT NULL;
|
||||
SELECT (SELECT 1,2,3) = ROW(1,2,3);
|
||||
SELECT (SELECT 1,2,3) = ROW(1,2,1);
|
||||
@ -1346,17 +1348,20 @@ drop table t1,t2;
|
||||
CREATE TABLE t1 ( a int, b int );
|
||||
CREATE TABLE t2 ( c int, d int );
|
||||
INSERT INTO t1 VALUES (1,2), (2,3), (3,4);
|
||||
SELECT a AS abc, b FROM t1 WHERE b = (SELECT MIN(b) FROM t1 WHERE a=abc);
|
||||
INSERT INTO t2 SELECT a AS abc, b FROM t1 WHERE b = (SELECT MIN(b) FROM t1 WHERE a=abc);
|
||||
SELECT a AS abc, b FROM t1 outr WHERE b =
|
||||
(SELECT MIN(b) FROM t1 WHERE a=outr.a);
|
||||
INSERT INTO t2 SELECT a AS abc, b FROM t1 outr WHERE b =
|
||||
(SELECT MIN(b) FROM t1 WHERE a=outr.a);
|
||||
select * from t2;
|
||||
CREATE TABLE t3 SELECT a AS abc, b FROM t1 WHERE b = (SELECT MIN(b) FROM t1 WHERE a=abc);
|
||||
CREATE TABLE t3 SELECT a AS abc, b FROM t1 outr WHERE b =
|
||||
(SELECT MIN(b) FROM t1 WHERE a=outr.a);
|
||||
select * from t3;
|
||||
prepare stmt1 from "INSERT INTO t2 SELECT a AS abc, b FROM t1 WHERE b = (SELECT MIN(b) FROM t1 WHERE a=abc);";
|
||||
prepare stmt1 from "INSERT INTO t2 SELECT a AS abc, b FROM t1 outr WHERE b = (SELECT MIN(b) FROM t1 WHERE a=outr.a);";
|
||||
execute stmt1;
|
||||
deallocate prepare stmt1;
|
||||
select * from t2;
|
||||
drop table t3;
|
||||
prepare stmt1 from "CREATE TABLE t3 SELECT a AS abc, b FROM t1 WHERE b = (SELECT MIN(b) FROM t1 WHERE a=abc);";
|
||||
prepare stmt1 from "CREATE TABLE t3 SELECT a AS abc, b FROM t1 outr WHERE b = (SELECT MIN(b) FROM t1 WHERE a=outr.a);";
|
||||
execute stmt1;
|
||||
select * from t3;
|
||||
deallocate prepare stmt1;
|
||||
@ -1529,7 +1534,9 @@ INSERT INTO t1 VALUES ('ASM','American Samoa','Oceania','Polynesia',199.00,0,680
|
||||
INSERT INTO t1 VALUES ('ATF','French Southern territories','Antarctica','Antarctica',7780.00,0,0,NULL,0.00,NULL,'Terres australes françaises','Nonmetropolitan Territory of France','Jacques Chirac',NULL,'TF');
|
||||
INSERT INTO t1 VALUES ('UMI','United States Minor Outlying Islands','Oceania','Micronesia/Caribbean',16.00,0,0,NULL,0.00,NULL,'United States Minor Outlying Islands','Dependent Territory of the US','George W. Bush',NULL,'UM');
|
||||
/*!40000 ALTER TABLE t1 ENABLE KEYS */;
|
||||
SELECT DISTINCT Continent AS c FROM t1 WHERE Code <> SOME ( SELECT Code FROM t1 WHERE Continent = c AND Population < 200);
|
||||
SELECT DISTINCT Continent AS c FROM t1 outr WHERE
|
||||
Code <> SOME ( SELECT Code FROM t1 WHERE Continent = outr.Continent AND
|
||||
Population < 200);
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
@ -2448,12 +2455,16 @@ DROP TABLE t1, t2;
|
||||
CREATE TABLE t1 (i INT);
|
||||
|
||||
(SELECT i FROM t1) UNION (SELECT i FROM t1);
|
||||
#TODO:not supported
|
||||
--error ER_PARSE_ERROR
|
||||
SELECT sql_no_cache * FROM t1 WHERE NOT EXISTS
|
||||
(
|
||||
(SELECT i FROM t1) UNION
|
||||
(SELECT i FROM t1)
|
||||
);
|
||||
|
||||
#TODO:not supported
|
||||
--error ER_PARSE_ERROR
|
||||
SELECT * FROM t1
|
||||
WHERE NOT EXISTS (((SELECT i FROM t1) UNION (SELECT i FROM t1)));
|
||||
|
||||
@ -2461,7 +2472,9 @@ WHERE NOT EXISTS (((SELECT i FROM t1) UNION (SELECT i FROM t1)));
|
||||
--error 1064
|
||||
explain select ((select t11.i from t1 t11) union (select t12.i from t1 t12))
|
||||
from t1;
|
||||
#supported
|
||||
|
||||
#TODO:not supported
|
||||
--error ER_PARSE_ERROR
|
||||
explain select * from t1 where not exists
|
||||
((select t11.i from t1 t11) union (select t12.i from t1 t12));
|
||||
|
||||
@ -2987,6 +3000,100 @@ SELECT (SELECT SUM(t1.a) FROM t2 WHERE a!=0) FROM t1;
|
||||
SELECT (SELECT SUM(t1.a) FROM t2 WHERE a=1) FROM t1;
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
#
|
||||
# Bug31048: Many nested subqueries may cause server crash.
|
||||
#
|
||||
create table t1(a int,b int,key(a),key(b));
|
||||
insert into t1(a,b) values (1,2),(2,1),(2,3),(3,4),(5,4),(5,5),
|
||||
(6,7),(7,4),(5,3);
|
||||
# test for the stack overflow bug
|
||||
select sum(a),a from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1
|
||||
)group by b limit 1)group by b limit 1
|
||||
)group by b limit 1)group by b limit 1)group by b limit 1
|
||||
)group by b limit 1)group by b limit 1)group by b limit 1
|
||||
)group by b limit 1)group by b limit 1)group by b limit 1)
|
||||
group by a;
|
||||
--replace_regex /overrun.*$/overrun detected/
|
||||
--error 1436
|
||||
select sum(a),a from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1
|
||||
)group by b limit 1)group by b limit 1)group by b limit 1
|
||||
)group by b limit 1)group by b limit 1)group by b limit 1
|
||||
)group by b limit 1)group by b limit 1)group by b limit 1
|
||||
)group by b limit 1)group by b limit 1)group by b limit 1
|
||||
)group by b limit 1)group by b limit 1)group by b limit 1
|
||||
)group by b limit 1)group by b limit 1)group by b limit 1
|
||||
)group by b limit 1)group by b limit 1)group by b limit 1
|
||||
)group by b limit 1)group by b limit 1)group by b limit 1
|
||||
)group by b limit 1)group by b limit 1)group by b limit 1
|
||||
)group by b limit 1)group by b limit 1)group by b limit 1)
|
||||
group by a;
|
||||
# test for the memory consumption & subquery slowness bug
|
||||
explain select sum(a),a from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1
|
||||
)group by b limit 1)group by b limit 1
|
||||
)group by b limit 1)group by b limit 1)group by b limit 1
|
||||
)group by b limit 1)group by b limit 1)group by b limit 1
|
||||
)group by b limit 1)group by b limit 1)group by b limit 1)
|
||||
group by a;
|
||||
--replace_regex /overrun.*$/overrun detected/
|
||||
--error 1436
|
||||
explain select sum(a),a from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1 where a> ( select sum(a) from t1 where a> (
|
||||
select sum(a) from t1
|
||||
)group by b limit 1)group by b limit 1)group by b limit 1
|
||||
)group by b limit 1)group by b limit 1)group by b limit 1
|
||||
)group by b limit 1)group by b limit 1)group by b limit 1
|
||||
)group by b limit 1)group by b limit 1)group by b limit 1
|
||||
)group by b limit 1)group by b limit 1)group by b limit 1
|
||||
)group by b limit 1)group by b limit 1)group by b limit 1
|
||||
)group by b limit 1)group by b limit 1)group by b limit 1
|
||||
)group by b limit 1)group by b limit 1)group by b limit 1
|
||||
)group by b limit 1)group by b limit 1)group by b limit 1
|
||||
)group by b limit 1)group by b limit 1)group by b limit 1)
|
||||
group by a;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #31884: Assertion + crash in subquery in the SELECT clause.
|
||||
#
|
||||
@ -3044,4 +3151,161 @@ SELECT LEFT(t1.a1,1) FROM t1,t3 WHERE t1.b1=t3.a3;
|
||||
SELECT a2 FROM t2 WHERE t2.a2 IN (SELECT t1.a1 FROM t1,t3 WHERE t1.b1=t3.a3);
|
||||
DROP TABLE t1, t2, t3;
|
||||
|
||||
#
|
||||
# Bug #30788: Inconsistent retrieval of char/varchar
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a CHAR(1), b VARCHAR(10));
|
||||
INSERT INTO t1 VALUES ('a', 'aa');
|
||||
INSERT INTO t1 VALUES ('a', 'aaa');
|
||||
SELECT a,b FROM t1 WHERE b IN (SELECT a FROM t1);
|
||||
CREATE INDEX I1 ON t1 (a);
|
||||
CREATE INDEX I2 ON t1 (b);
|
||||
EXPLAIN SELECT a,b FROM t1 WHERE b IN (SELECT a FROM t1);
|
||||
SELECT a,b FROM t1 WHERE b IN (SELECT a FROM t1);
|
||||
|
||||
CREATE TABLE t2 (a VARCHAR(1), b VARCHAR(10));
|
||||
INSERT INTO t2 SELECT * FROM t1;
|
||||
CREATE INDEX I1 ON t2 (a);
|
||||
CREATE INDEX I2 ON t2 (b);
|
||||
EXPLAIN SELECT a,b FROM t2 WHERE b IN (SELECT a FROM t2);
|
||||
SELECT a,b FROM t2 WHERE b IN (SELECT a FROM t2);
|
||||
EXPLAIN
|
||||
SELECT a,b FROM t1 WHERE b IN (SELECT a FROM t1 WHERE LENGTH(a)<500);
|
||||
SELECT a,b FROM t1 WHERE b IN (SELECT a FROM t1 WHERE LENGTH(a)<500);
|
||||
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
#
|
||||
# Bug #32400: Complex SELECT query returns correct result only on some
|
||||
# occasions
|
||||
#
|
||||
|
||||
CREATE TABLE t1(a INT, b INT);
|
||||
INSERT INTO t1 VALUES (1,1), (1,2), (2,3), (2,4);
|
||||
|
||||
--error ER_BAD_FIELD_ERROR
|
||||
EXPLAIN
|
||||
SELECT a AS out_a, MIN(b) FROM t1
|
||||
WHERE b > (SELECT MIN(b) FROM t1 WHERE a = out_a)
|
||||
GROUP BY a;
|
||||
|
||||
--error ER_BAD_FIELD_ERROR
|
||||
SELECT a AS out_a, MIN(b) FROM t1
|
||||
WHERE b > (SELECT MIN(b) FROM t1 WHERE a = out_a)
|
||||
GROUP BY a;
|
||||
|
||||
EXPLAIN
|
||||
SELECT a AS out_a, MIN(b) FROM t1 t1_outer
|
||||
WHERE b > (SELECT MIN(b) FROM t1 WHERE a = t1_outer.a)
|
||||
GROUP BY a;
|
||||
|
||||
SELECT a AS out_a, MIN(b) FROM t1 t1_outer
|
||||
WHERE b > (SELECT MIN(b) FROM t1 WHERE a = t1_outer.a)
|
||||
GROUP BY a;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug #32036: EXISTS within a WHERE clause with a UNION crashes MySQL 5.122
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a INT);
|
||||
CREATE TABLE t2 (a INT);
|
||||
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
INSERT INTO t2 VALUES (1),(2);
|
||||
|
||||
SELECT 2 FROM t1 WHERE EXISTS ((SELECT 1 FROM t2 WHERE t1.a=t2.a));
|
||||
EXPLAIN EXTENDED
|
||||
SELECT 2 FROM t1 WHERE EXISTS ((SELECT 1 FROM t2 WHERE t1.a=t2.a));
|
||||
|
||||
|
||||
#TODO:not supported
|
||||
--error ER_PARSE_ERROR
|
||||
EXPLAIN EXTENDED
|
||||
SELECT 2 FROM t1 WHERE EXISTS ((SELECT 1 FROM t2 WHERE t1.a=t2.a) UNION
|
||||
(SELECT 1 FROM t2 WHERE t1.a = t2.a));
|
||||
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
|
||||
#
|
||||
# Bug#33675: Usage of an uninitialized memory by filesort in a subquery
|
||||
# caused server crash.
|
||||
#
|
||||
create table t1(f11 int, f12 int);
|
||||
create table t2(f21 int unsigned not null, f22 int, f23 varchar(10));
|
||||
insert into t1 values(1,1),(2,2), (3, 3);
|
||||
let $i=10000;
|
||||
--disable_query_log
|
||||
--disable_warnings
|
||||
while ($i)
|
||||
{
|
||||
eval insert into t2 values (-1 , $i/5000 + 1, '$i');
|
||||
dec $i;
|
||||
}
|
||||
--enable_warnings
|
||||
--enable_query_log
|
||||
set session sort_buffer_size= 33*1024;
|
||||
select count(*) from t1 where f12 =
|
||||
(select f22 from t2 where f22 = f12 order by f21 desc, f22, f23 limit 1);
|
||||
|
||||
drop table t1,t2;
|
||||
|
||||
#
|
||||
# BUG#33794 "MySQL crashes executing specific query on specific dump"
|
||||
#
|
||||
CREATE TABLE t4 (
|
||||
f7 varchar(32) collate utf8_bin NOT NULL default '',
|
||||
f10 varchar(32) collate utf8_bin default NULL,
|
||||
PRIMARY KEY (f7)
|
||||
);
|
||||
INSERT INTO t4 VALUES(1,1), (2,null);
|
||||
|
||||
CREATE TABLE t2 (
|
||||
f4 varchar(32) collate utf8_bin NOT NULL default '',
|
||||
f2 varchar(50) collate utf8_bin default NULL,
|
||||
f3 varchar(10) collate utf8_bin default NULL,
|
||||
PRIMARY KEY (f4),
|
||||
UNIQUE KEY uk1 (f2)
|
||||
);
|
||||
INSERT INTO t2 VALUES(1,1,null), (2,2,null);
|
||||
|
||||
CREATE TABLE t1 (
|
||||
f8 varchar(32) collate utf8_bin NOT NULL default '',
|
||||
f1 varchar(10) collate utf8_bin default NULL,
|
||||
f9 varchar(32) collate utf8_bin default NULL,
|
||||
PRIMARY KEY (f8)
|
||||
);
|
||||
INSERT INTO t1 VALUES (1,'P',1), (2,'P',1), (3,'R',2);
|
||||
|
||||
CREATE TABLE t3 (
|
||||
f6 varchar(32) collate utf8_bin NOT NULL default '',
|
||||
f5 varchar(50) collate utf8_bin default NULL,
|
||||
PRIMARY KEY (f6)
|
||||
);
|
||||
INSERT INTO t3 VALUES (1,null), (2,null);
|
||||
|
||||
SELECT
|
||||
IF(t1.f1 = 'R', a1.f2, t2.f2) AS a4,
|
||||
IF(t1.f1 = 'R', a1.f3, t2.f3) AS f3,
|
||||
SUM(
|
||||
IF(
|
||||
(SELECT VPC.f2
|
||||
FROM t2 VPC, t4 a2, t2 a3
|
||||
WHERE
|
||||
VPC.f4 = a2.f10 AND a3.f2 = a4
|
||||
LIMIT 1) IS NULL,
|
||||
0,
|
||||
t3.f5
|
||||
)
|
||||
) AS a6
|
||||
FROM
|
||||
t2, t3, t1 JOIN t2 a1 ON t1.f9 = a1.f4
|
||||
GROUP BY a4;
|
||||
|
||||
DROP TABLE t1, t2, t3, t4;
|
||||
|
||||
--echo End of 5.0 tests.
|
||||
|
||||
|
@ -318,4 +318,19 @@ INSERT INTO t2 VALUES (3, 2, 'two'), (2, 3, 'three'), (2, 0, 'zero'),
|
||||
SELECT COUNT(DISTINCT b,c) FROM t2 GROUP BY a;
|
||||
DROP TABLE t2;
|
||||
|
||||
#
|
||||
# BUG#32556 assert in "using index for group-by" : is_last_prefix <= 0,
|
||||
# file .\opt_range.cc
|
||||
|
||||
CREATE TABLE t1(a BIT(13), KEY(a));
|
||||
--disable_warnings
|
||||
INSERT INTO t1(a) VALUES
|
||||
(65535),(65525),(65535),(65535),(65535),(65535),(65535),(65535),(65535),(65535);
|
||||
--enable_warnings
|
||||
|
||||
EXPLAIN SELECT 1 FROM t1 GROUP BY a;
|
||||
SELECT 1 FROM t1 GROUP BY a;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -436,4 +436,15 @@ set @@sql_mode='TRADITIONAL';
|
||||
create table t1 (a text default '');
|
||||
set @@sql_mode='';
|
||||
|
||||
#
|
||||
# Bug #32282: TEXT silently truncates when value is exactly 65536 bytes
|
||||
#
|
||||
|
||||
CREATE TABLE t (c TEXT CHARSET ASCII);
|
||||
INSERT INTO t (c) VALUES (REPEAT('1',65537));
|
||||
INSERT INTO t (c) VALUES (REPEAT('2',65536));
|
||||
INSERT INTO t (c) VALUES (REPEAT('3',65535));
|
||||
SELECT LENGTH(c), CHAR_LENGTH(c) FROM t;
|
||||
DROP TABLE t;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -190,4 +190,32 @@ INSERT INTO t1 VALUES ('0000-00-00');
|
||||
SET SQL_MODE=DEFAULT;
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
#
|
||||
# Bug #31928: Search fails on '1000-00-00' date after sql_mode change
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a DATE);
|
||||
CREATE TABLE t2 (a DATE);
|
||||
CREATE INDEX i ON t1 (a);
|
||||
INSERT INTO t1 VALUES ('1000-00-00'),('1000-00-00');
|
||||
INSERT INTO t2 VALUES ('1000-00-00'),('1000-00-00');
|
||||
SELECT * FROM t1 WHERE a = '1000-00-00';
|
||||
SELECT * FROM t2 WHERE a = '1000-00-00';
|
||||
SET SQL_MODE=TRADITIONAL;
|
||||
EXPLAIN SELECT * FROM t1 WHERE a = '1000-00-00';
|
||||
SELECT * FROM t1 WHERE a = '1000-00-00';
|
||||
SELECT * FROM t2 WHERE a = '1000-00-00';
|
||||
--error ER_TRUNCATED_WRONG_VALUE
|
||||
INSERT INTO t1 VALUES ('1000-00-00');
|
||||
SET SQL_MODE=DEFAULT;
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
#
|
||||
# Bug #31990: MINUTE() and SECOND() return bogus results when used on a DATE
|
||||
#
|
||||
|
||||
CREATE TABLE t1 SELECT curdate() AS f1;
|
||||
SELECT hour(f1), minute(f1), second(f1) FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -351,4 +351,41 @@ insert into t1 values (), (), ();
|
||||
select sum(a) from t1 group by convert(a, datetime);
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #32694: NOT NULL table field in a subquery produces invalid results
|
||||
#
|
||||
create table t1 (id int(10) not null, cur_date datetime not null);
|
||||
create table t2 (id int(10) not null, cur_date date not null);
|
||||
insert into t1 (id, cur_date) values (1, '2007-04-25 18:30:22');
|
||||
insert into t2 (id, cur_date) values (1, '2007-04-25');
|
||||
|
||||
explain extended
|
||||
select * from t1
|
||||
where id in (select id from t1 as x1 where (t1.cur_date is null));
|
||||
select * from t1
|
||||
where id in (select id from t1 as x1 where (t1.cur_date is null));
|
||||
|
||||
explain extended
|
||||
select * from t2
|
||||
where id in (select id from t2 as x1 where (t2.cur_date is null));
|
||||
select * from t2
|
||||
where id in (select id from t2 as x1 where (t2.cur_date is null));
|
||||
|
||||
insert into t1 (id, cur_date) values (2, '2007-04-26 18:30:22');
|
||||
insert into t2 (id, cur_date) values (2, '2007-04-26');
|
||||
|
||||
explain extended
|
||||
select * from t1
|
||||
where id in (select id from t1 as x1 where (t1.cur_date is null));
|
||||
select * from t1
|
||||
where id in (select id from t1 as x1 where (t1.cur_date is null));
|
||||
|
||||
explain extended
|
||||
select * from t2
|
||||
where id in (select id from t2 as x1 where (t2.cur_date is null));
|
||||
select * from t2
|
||||
where id in (select id from t2 as x1 where (t2.cur_date is null));
|
||||
|
||||
drop table t1,t2;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -478,4 +478,47 @@ select round(a,b) as c from t1 order by c;
|
||||
|
||||
DROP TABLE t1, t2, t3, t4;
|
||||
|
||||
#
|
||||
# Bug #33143: Incorrect ORDER BY for ROUND()/TRUNCATE() result
|
||||
#
|
||||
|
||||
CREATE TABLE t1( a DECIMAL(4, 3), b INT );
|
||||
INSERT INTO t1 VALUES ( 1, 5 ), ( 2, 4 ), ( 3, 3 ), ( 4, 2 ), ( 5, 1 );
|
||||
SELECT a, b, ROUND( a, b ) AS c FROM t1 ORDER BY c;
|
||||
SELECT a, b, ROUND( a, b ) AS c FROM t1 ORDER BY c DESC;
|
||||
|
||||
CREATE TABLE t2 ( a INT, b INT, c DECIMAL(5, 4) );
|
||||
|
||||
INSERT INTO t2 VALUES ( 0, 1, 1.2345 ), ( 1, 2, 1.2345 ),
|
||||
( 3, 3, 1.2345 ), ( 2, 4, 1.2345 );
|
||||
|
||||
SELECT a, b, MAX(ROUND(c, a))
|
||||
FROM t2
|
||||
GROUP BY a, b
|
||||
ORDER BY b;
|
||||
|
||||
SELECT a, b, ROUND(c, a)
|
||||
FROM t2;
|
||||
|
||||
CREATE TABLE t3( a INT, b DECIMAL(6, 3) );
|
||||
INSERT INTO t3 VALUES( 0, 1.5 );
|
||||
SELECT ROUND( b, a ) FROM t3;
|
||||
|
||||
CREATE TABLE t4( a INT, b DECIMAL( 12, 0) );
|
||||
INSERT INTO t4 VALUES( -9, 1.5e9 );
|
||||
SELECT ROUND( b, a ) FROM t4;
|
||||
|
||||
CREATE TABLE t5( a INT, b DECIMAL( 13, 12 ) );
|
||||
INSERT INTO t5 VALUES( 0, 1.5 );
|
||||
INSERT INTO t5 VALUES( 9, 1.5e-9 );
|
||||
SELECT ROUND( b, a ) FROM t5;
|
||||
|
||||
CREATE TABLE t6( a INT );
|
||||
INSERT INTO t6 VALUES( 6 / 8 );
|
||||
SELECT * FROM t6;
|
||||
|
||||
SELECT ROUND(20061108085411.000002);
|
||||
|
||||
DROP TABLE t1, t2, t3, t4, t5, t6;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -362,4 +362,25 @@ DROP PROCEDURE check_const_len_sp;
|
||||
DROP TRIGGER check_const_len_trigger;
|
||||
DROP TABLE const_len_bug;
|
||||
|
||||
|
||||
#
|
||||
# Bug #30355: Incorrect ordering of UDF results
|
||||
#
|
||||
|
||||
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
||||
eval CREATE FUNCTION sequence RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB";
|
||||
CREATE TABLE t1 (a INT);
|
||||
CREATE TABLE t2 (a INT PRIMARY KEY);
|
||||
INSERT INTO t1 VALUES (4),(3),(2),(1);
|
||||
INSERT INTO t2 SELECT * FROM t1;
|
||||
|
||||
SELECT sequence() AS seq, a FROM t1 ORDER BY seq ASC;
|
||||
SELECT sequence() AS seq, a FROM t1 ORDER BY seq DESC;
|
||||
|
||||
SELECT * FROM t1 WHERE a = sequence();
|
||||
SELECT * FROM t2 WHERE a = sequence();
|
||||
|
||||
DROP FUNCTION sequence;
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
--echo End of 5.0 tests.
|
||||
|
1
mysql-test/t/udf_skip_grants-master.opt
Normal file
1
mysql-test/t/udf_skip_grants-master.opt
Normal file
@ -0,0 +1 @@
|
||||
--skip-grant-tables
|
28
mysql-test/t/udf_skip_grants.test
Normal file
28
mysql-test/t/udf_skip_grants.test
Normal file
@ -0,0 +1,28 @@
|
||||
####################### udf_skip_grants.test ###########################
|
||||
# #
|
||||
# Test for bug #32020 "loading udfs while --skip-grant-tables is #
|
||||
# enabled causes out of memory errors" #
|
||||
# #
|
||||
# Creation: #
|
||||
# 2007-12-24 akopytov Moved the test case for bug #32020 from #
|
||||
# skip_grants.test to a separate test to ensure #
|
||||
# that it is only run when the server is built #
|
||||
# with support for dynamically loaded libraries #
|
||||
# (see bug #33305). #
|
||||
# #
|
||||
########################################################################
|
||||
|
||||
-- source include/not_embedded.inc
|
||||
-- source include/have_udf.inc
|
||||
|
||||
#
|
||||
# Bug #32020: loading udfs while --skip-grant-tables is enabled causes out of
|
||||
# memory errors
|
||||
#
|
||||
|
||||
--error ER_CANT_INITIALIZE_UDF
|
||||
CREATE FUNCTION a RETURNS STRING SONAME '';
|
||||
--error ER_SP_DOES_NOT_EXIST
|
||||
DROP FUNCTION a;
|
||||
|
||||
--echo End of 5.0 tests
|
@ -877,4 +877,127 @@ DROP TABLE t1;
|
||||
select @var;
|
||||
--error 1172
|
||||
(select 2) union (select 1 into @var);
|
||||
|
||||
#
|
||||
# Bug#27848: order-by of union clashes with rollup of select part
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a int);
|
||||
INSERT INTO t1 VALUES (10), (20);
|
||||
CREATE TABLE t2 (b int);
|
||||
INSERT INTO t2 VALUES (10), (50), (50);
|
||||
|
||||
SELECT a,1 FROM t1
|
||||
UNION
|
||||
SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP
|
||||
ORDER BY a;
|
||||
|
||||
SELECT a,1 FROM t1
|
||||
UNION
|
||||
SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP
|
||||
ORDER BY a DESC;
|
||||
|
||||
SELECT a,1 FROM t1
|
||||
UNION
|
||||
SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP
|
||||
ORDER BY a ASC LIMIT 3;
|
||||
|
||||
SELECT a,1 FROM t1
|
||||
UNION ALL
|
||||
SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP
|
||||
ORDER BY a DESC;
|
||||
|
||||
--error ER_WRONG_USAGE
|
||||
SELECT a,1 FROM t1
|
||||
UNION
|
||||
(SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP ORDER BY a);
|
||||
|
||||
--error ER_WRONG_USAGE
|
||||
SELECT a,1 FROM t1
|
||||
UNION ALL
|
||||
SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP ORDER BY a
|
||||
UNION
|
||||
SELECT 1,1;
|
||||
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
# Bug#32858: Erro: "Incorrect usage of UNION and INTO" does not take subselects
|
||||
# into account
|
||||
#
|
||||
CREATE TABLE t1 (a INT);
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
SELECT a INTO @v FROM (
|
||||
SELECT a FROM t1
|
||||
UNION
|
||||
SELECT a FROM t1
|
||||
) alias;
|
||||
|
||||
SELECT a INTO OUTFILE 'union.out.file' FROM (
|
||||
SELECT a FROM t1
|
||||
UNION
|
||||
SELECT a FROM t1 WHERE 0
|
||||
) alias;
|
||||
|
||||
SELECT a INTO DUMPFILE 'union.out.file2' FROM (
|
||||
SELECT a FROM t1
|
||||
UNION
|
||||
SELECT a FROM t1 WHERE 0
|
||||
) alias;
|
||||
|
||||
#
|
||||
# INTO will not be allowed in subqueries in version 5.1 and above.
|
||||
#
|
||||
SELECT a FROM (
|
||||
SELECT a FROM t1
|
||||
UNION
|
||||
SELECT a INTO @v FROM t1
|
||||
) alias;
|
||||
|
||||
SELECT a FROM (
|
||||
SELECT a FROM t1
|
||||
UNION
|
||||
SELECT a INTO OUTFILE 'union.out.file3' FROM t1
|
||||
) alias;
|
||||
|
||||
SELECT a FROM (
|
||||
SELECT a FROM t1
|
||||
UNION
|
||||
SELECT a INTO DUMPFILE 'union.out.file4' FROM t1
|
||||
) alias;
|
||||
|
||||
SELECT a FROM t1 UNION SELECT a INTO @v FROM t1;
|
||||
SELECT a FROM t1 UNION SELECT a INTO OUTFILE 'union.out.file5' FROM t1;
|
||||
SELECT a FROM t1 UNION SELECT a INTO OUTFILE 'union.out.file6' FROM t1;
|
||||
--error ER_WRONG_USAGE
|
||||
SELECT a INTO @v FROM t1 UNION SELECT a FROM t1;
|
||||
--error ER_WRONG_USAGE
|
||||
SELECT a INTO OUTFILE 'union.out.file7' FROM t1 UNION SELECT a FROM t1;
|
||||
--error ER_WRONG_USAGE
|
||||
SELECT a INTO DUMPFILE 'union.out.file8' FROM t1 UNION SELECT a FROM t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
# Bug#32848: Data type conversion bug in union subselects in MySQL 5.0.38
|
||||
#
|
||||
CREATE TABLE t1 (a INT);
|
||||
INSERT INTO t1 VALUES (1), (2), (3);
|
||||
|
||||
CREATE TABLE t2 SELECT * FROM (SELECT NULL) a UNION SELECT a FROM t1;
|
||||
DESC t2;
|
||||
|
||||
CREATE TABLE t3 SELECT a FROM t1 UNION SELECT * FROM (SELECT NULL) a;
|
||||
DESC t3;
|
||||
|
||||
CREATE TABLE t4 SELECT NULL;
|
||||
DESC t4;
|
||||
|
||||
CREATE TABLE t5 SELECT NULL UNION SELECT NULL;
|
||||
DESC t5;
|
||||
|
||||
CREATE TABLE t6
|
||||
SELECT * FROM (SELECT * FROM (SELECT NULL)a) b UNION SELECT a FROM t1;
|
||||
DESC t6;
|
||||
|
||||
DROP TABLE t1, t2, t3, t4, t5, t6;
|
||||
--echo End of 5.0 tests
|
||||
|
@ -126,8 +126,8 @@ set GLOBAL query_cache_size=100000;
|
||||
set GLOBAL myisam_max_sort_file_size=2000000;
|
||||
show global variables like 'myisam_max_sort_file_size';
|
||||
set GLOBAL myisam_max_sort_file_size=default;
|
||||
--replace_result 2147483647 FILE_SIZE 9223372036854775807 FILE_SIZE
|
||||
show variables like 'myisam_max_sort_file_size';
|
||||
--replace_result 9223372036853727232 FILE_SIZE 2146435072 FILE_SIZE
|
||||
show global variables like 'myisam_max_sort_file_size';
|
||||
|
||||
set global net_retry_count=10, session net_retry_count=10;
|
||||
set global net_buffer_length=1024, net_write_timeout=200, net_read_timeout=300;
|
||||
|
@ -3456,5 +3456,19 @@ DROP VIEW v2;
|
||||
DROP VIEW v3;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#29477: Not all fields of the target table were checked to have
|
||||
--echo # a default value when inserting into a view.
|
||||
--echo #
|
||||
create table t1(f1 int, f2 int not null);
|
||||
create view v1 as select f1 from t1;
|
||||
insert into v1 values(1);
|
||||
set @old_mode=@@sql_mode;
|
||||
set @@sql_mode=traditional;
|
||||
--error ER_NO_DEFAULT_FOR_VIEW_FIELD
|
||||
insert into v1 values(1);
|
||||
set @@sql_mode=@old_mode;
|
||||
drop view v1;
|
||||
drop table t1;
|
||||
--echo End of 5.0 tests.
|
||||
|
||||
|
Reference in New Issue
Block a user