Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.1
into magare.gmz:/home/kgeorge/mysql/work/merge-5.1-bugteam mysql-test/r/grant.result: Auto merged mysql-test/t/grant.test: Auto merged sql/sql_acl.cc: Auto merged sql/sql_connect.cc: Auto merged
This commit is contained in:
commit
1c734848ab
@ -148,6 +148,37 @@ enum enum_server_command
|
|||||||
#define CLIENT_SSL_VERIFY_SERVER_CERT (1UL << 30)
|
#define CLIENT_SSL_VERIFY_SERVER_CERT (1UL << 30)
|
||||||
#define CLIENT_REMEMBER_OPTIONS (1UL << 31)
|
#define CLIENT_REMEMBER_OPTIONS (1UL << 31)
|
||||||
|
|
||||||
|
/* Gather all possible capabilites (flags) supported by the server */
|
||||||
|
#define CLIENT_ALL_FLAGS (CLIENT_LONG_PASSWORD | \
|
||||||
|
CLIENT_FOUND_ROWS | \
|
||||||
|
CLIENT_LONG_FLAG | \
|
||||||
|
CLIENT_CONNECT_WITH_DB | \
|
||||||
|
CLIENT_NO_SCHEMA | \
|
||||||
|
CLIENT_COMPRESS | \
|
||||||
|
CLIENT_ODBC | \
|
||||||
|
CLIENT_LOCAL_FILES | \
|
||||||
|
CLIENT_IGNORE_SPACE | \
|
||||||
|
CLIENT_PROTOCOL_41 | \
|
||||||
|
CLIENT_INTERACTIVE | \
|
||||||
|
CLIENT_SSL | \
|
||||||
|
CLIENT_IGNORE_SIGPIPE | \
|
||||||
|
CLIENT_TRANSACTIONS | \
|
||||||
|
CLIENT_RESERVED | \
|
||||||
|
CLIENT_SECURE_CONNECTION | \
|
||||||
|
CLIENT_MULTI_STATEMENTS | \
|
||||||
|
CLIENT_MULTI_RESULTS | \
|
||||||
|
CLIENT_SSL_VERIFY_SERVER_CERT | \
|
||||||
|
CLIENT_REMEMBER_OPTIONS)
|
||||||
|
|
||||||
|
/*
|
||||||
|
Switch off the flags that are optional and depending on build flags
|
||||||
|
If any of the optional flags is supported by the build it will be switched
|
||||||
|
on before sending to the client during the connection handshake.
|
||||||
|
*/
|
||||||
|
#define CLIENT_BASIC_FLAGS (((CLIENT_ALL_FLAGS & ~CLIENT_SSL) \
|
||||||
|
& ~CLIENT_COMPRESS) \
|
||||||
|
& ~CLIENT_SSL_VERIFY_SERVER_CERT)
|
||||||
|
|
||||||
#define SERVER_STATUS_IN_TRANS 1 /* Transaction has started */
|
#define SERVER_STATUS_IN_TRANS 1 /* Transaction has started */
|
||||||
#define SERVER_STATUS_AUTOCOMMIT 2 /* Server in auto_commit mode */
|
#define SERVER_STATUS_AUTOCOMMIT 2 /* Server in auto_commit mode */
|
||||||
#define SERVER_MORE_RESULTS_EXISTS 8 /* Multi query - next query exists */
|
#define SERVER_MORE_RESULTS_EXISTS 8 /* Multi query - next query exists */
|
||||||
|
@ -682,3 +682,26 @@ a a b
|
|||||||
1 1 3
|
1 1 3
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
End of 5.0 tests
|
End of 5.0 tests
|
||||||
|
CREATE TABLE t1(a INT, b INT, c INT, d INT, e INT,
|
||||||
|
PRIMARY KEY(a,b,c,d,e),
|
||||||
|
KEY(a,b,d,c)
|
||||||
|
);
|
||||||
|
INSERT INTO t1(a, b, c) VALUES (1, 1, 1),
|
||||||
|
(1, 1, 2),
|
||||||
|
(1, 1, 3),
|
||||||
|
(1, 2, 1),
|
||||||
|
(1, 2, 2),
|
||||||
|
(1, 2, 3);
|
||||||
|
EXPLAIN SELECT DISTINCT a, b, d, c FROM t1;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 SIMPLE t1 index NULL a 16 NULL 6 Using index
|
||||||
|
SELECT DISTINCT a, b, d, c FROM t1;
|
||||||
|
a b d c
|
||||||
|
1 1 0 1
|
||||||
|
1 1 0 2
|
||||||
|
1 1 0 3
|
||||||
|
1 2 0 1
|
||||||
|
1 2 0 2
|
||||||
|
1 2 0 3
|
||||||
|
DROP TABLE t1;
|
||||||
|
End of 5.1 tests
|
||||||
|
@ -1428,3 +1428,33 @@ set session max_sort_length= 2180;
|
|||||||
select * from t1 order by b;
|
select * from t1 order by b;
|
||||||
ERROR HY001: Out of sort memory; increase server sort buffer size
|
ERROR HY001: Out of sort memory; increase server sort buffer size
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
CREATE TABLE t2 (a varchar(32), b int(11), c float, d double,
|
||||||
|
UNIQUE KEY a (a,b,c), KEY b (b), KEY c (c));
|
||||||
|
CREATE TABLE t1 (a varchar(32), b char(3), UNIQUE KEY a (a,b), KEY b (b));
|
||||||
|
CREATE TABLE t3 (a varchar(32), b char(3), UNIQUE KEY a (a,b));
|
||||||
|
INSERT INTO t3 SELECT * FROM t1;
|
||||||
|
EXPLAIN
|
||||||
|
SELECT d FROM t1, t2
|
||||||
|
WHERE t2.b=14 AND t2.a=t1.a AND 5.1<t2.c AND t1.b='DE'
|
||||||
|
ORDER BY t2.c LIMIT 1;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 SIMPLE t1 ref a,b b 4 const 4 Using where; Using temporary; Using filesort
|
||||||
|
1 SIMPLE t2 ref a,b,c a 40 test.t1.a,const 11 Using where
|
||||||
|
SELECT d FROM t1, t2
|
||||||
|
WHERE t2.b=14 AND t2.a=t1.a AND 5.1<t2.c AND t1.b='DE'
|
||||||
|
ORDER BY t2.c LIMIT 1;
|
||||||
|
d
|
||||||
|
52.5
|
||||||
|
EXPLAIN
|
||||||
|
SELECT d FROM t3 AS t1, t2 AS t2
|
||||||
|
WHERE t2.b=14 AND t2.a=t1.a AND 5.1<t2.c AND t1.b='DE'
|
||||||
|
ORDER BY t2.c LIMIT 1;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 SIMPLE t2 range a,b,c c 5 NULL 420 Using where
|
||||||
|
1 SIMPLE t1 ref a a 39 test.t2.a,const 10 Using where; Using index
|
||||||
|
SELECT d FROM t3 AS t1, t2 AS t2
|
||||||
|
WHERE t2.b=14 AND t2.a=t1.a AND 5.1<t2.c AND t1.b='DE'
|
||||||
|
ORDER BY t2.c LIMIT 1;
|
||||||
|
d
|
||||||
|
52.5
|
||||||
|
DROP TABLE t1,t2,t3;
|
||||||
|
@ -1166,6 +1166,45 @@ EXPLAIN SELECT a FROM t1 WHERE a='b' OR a='B';
|
|||||||
id select_type table type possible_keys key key_len ref rows Extra
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
1 SIMPLE t1 range a a 35 NULL 3 Using where; Using index
|
1 SIMPLE t1 range a a 35 NULL 3 Using where; Using index
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1 (f1 TINYINT(11) UNSIGNED NOT NULL, PRIMARY KEY (f1));
|
||||||
|
INSERT INTO t1 VALUES (127),(254),(0),(1),(255);
|
||||||
|
SELECT SQL_NO_CACHE COUNT(*) FROM t1 WHERE f1 < 256;
|
||||||
|
COUNT(*)
|
||||||
|
5
|
||||||
|
SELECT SQL_NO_CACHE COUNT(*) FROM t1 WHERE f1 < 256.0;
|
||||||
|
COUNT(*)
|
||||||
|
5
|
||||||
|
SELECT SQL_NO_CACHE COUNT(*) FROM t1 WHERE f1 < 255;
|
||||||
|
COUNT(*)
|
||||||
|
4
|
||||||
|
SELECT SQL_NO_CACHE COUNT(*) FROM t1 WHERE f1 < -1;
|
||||||
|
COUNT(*)
|
||||||
|
0
|
||||||
|
SELECT SQL_NO_CACHE COUNT(*) FROM t1 WHERE f1 > -1;
|
||||||
|
COUNT(*)
|
||||||
|
5
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1 ( f1 TINYINT(11) NOT NULL, PRIMARY KEY (f1));
|
||||||
|
INSERT INTO t1 VALUES (127),(126),(0),(-128),(-127);
|
||||||
|
SELECT SQL_NO_CACHE COUNT(*) FROM t1 WHERE f1 < 128;
|
||||||
|
COUNT(*)
|
||||||
|
5
|
||||||
|
SELECT SQL_NO_CACHE COUNT(*) FROM t1 WHERE f1 < 128.0;
|
||||||
|
COUNT(*)
|
||||||
|
5
|
||||||
|
SELECT SQL_NO_CACHE COUNT(*) FROM t1 WHERE f1 < 127;
|
||||||
|
COUNT(*)
|
||||||
|
4
|
||||||
|
SELECT SQL_NO_CACHE COUNT(*) FROM t1 WHERE f1 > -129;
|
||||||
|
COUNT(*)
|
||||||
|
5
|
||||||
|
SELECT SQL_NO_CACHE COUNT(*) FROM t1 WHERE f1 > -129.0;
|
||||||
|
COUNT(*)
|
||||||
|
5
|
||||||
|
SELECT SQL_NO_CACHE COUNT(*) FROM t1 WHERE f1 > -128;
|
||||||
|
COUNT(*)
|
||||||
|
4
|
||||||
|
DROP TABLE t1;
|
||||||
create table t1 (a int);
|
create table t1 (a int);
|
||||||
insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||||
create table t2 (a int, b int, filler char(100));
|
create table t2 (a int, b int, filler char(100));
|
||||||
|
@ -553,3 +553,26 @@ SELECT DISTINCT a, a, b FROM t1;
|
|||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
--echo End of 5.0 tests
|
--echo End of 5.0 tests
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #34928: Confusion by having Primary Key and Index
|
||||||
|
#
|
||||||
|
CREATE TABLE t1(a INT, b INT, c INT, d INT, e INT,
|
||||||
|
PRIMARY KEY(a,b,c,d,e),
|
||||||
|
KEY(a,b,d,c)
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT INTO t1(a, b, c) VALUES (1, 1, 1),
|
||||||
|
(1, 1, 2),
|
||||||
|
(1, 1, 3),
|
||||||
|
(1, 2, 1),
|
||||||
|
(1, 2, 2),
|
||||||
|
(1, 2, 3);
|
||||||
|
|
||||||
|
EXPLAIN SELECT DISTINCT a, b, d, c FROM t1;
|
||||||
|
|
||||||
|
SELECT DISTINCT a, b, d, c FROM t1;
|
||||||
|
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
--echo End of 5.1 tests
|
||||||
|
@ -847,3 +847,465 @@ set session max_sort_length= 2180;
|
|||||||
select * from t1 order by b;
|
select * from t1 order by b;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #35206: select query result different if the key is indexed or not
|
||||||
|
#
|
||||||
|
|
||||||
|
CREATE TABLE t2 (a varchar(32), b int(11), c float, d double,
|
||||||
|
UNIQUE KEY a (a,b,c), KEY b (b), KEY c (c));
|
||||||
|
|
||||||
|
CREATE TABLE t1 (a varchar(32), b char(3), UNIQUE KEY a (a,b), KEY b (b));
|
||||||
|
CREATE TABLE t3 (a varchar(32), b char(3), UNIQUE KEY a (a,b));
|
||||||
|
|
||||||
|
--disable_query_log
|
||||||
|
INSERT INTO t1 (a, b) VALUES
|
||||||
|
('domestic', 'CH'), ('domestic', 'LI'), ('plfcz1', 'FR'), ('all', 'AD'),
|
||||||
|
('all', 'AE'), ('all', 'AF'), ('all', 'AG'), ('all', 'AI'), ('all', 'AL'),
|
||||||
|
('all', 'AM'), ('all', 'AN'), ('all', 'AO'), ('all', 'AP'), ('all', 'AQ'),
|
||||||
|
('all', 'AR'), ('all', 'AS'), ('all', 'AT'), ('all', 'AU'), ('all', 'AW'),
|
||||||
|
('all', 'AZ'), ('all', 'BA'), ('all', 'BB'), ('all', 'BD'), ('all', 'BE'),
|
||||||
|
('all', 'BF'), ('all', 'BG'), ('all', 'BH'), ('all', 'BI'), ('all', 'BJ'),
|
||||||
|
('all', 'BM'), ('all', 'BN'), ('all', 'BO'), ('all', 'BR'), ('all', 'BS'),
|
||||||
|
('all', 'BT'), ('all', 'BV'), ('all', 'BW'), ('all', 'BY'), ('all', 'BZ'),
|
||||||
|
('all', 'CA'), ('all', 'CC'), ('all', 'CD'), ('all', 'CF'), ('all', 'CG'),
|
||||||
|
('all', 'CH'), ('all', 'CI'), ('all', 'CK'), ('all', 'CL'), ('all', 'CM'),
|
||||||
|
('all', 'CN'), ('all', 'CO'), ('all', 'CR'), ('all', 'CU'), ('all', 'CV'),
|
||||||
|
('all', 'CX'), ('all', 'CY'), ('all', 'CZ'), ('all', 'DE'), ('all', 'DJ'),
|
||||||
|
('all', 'DK'), ('all', 'DM'), ('all', 'DO'), ('all', 'DZ'), ('all', 'EC'),
|
||||||
|
('all', 'EE'), ('all', 'EG'), ('all', 'EH'), ('all', 'EI'), ('all', 'ER'),
|
||||||
|
('all', 'ES'), ('all', 'ET'), ('all', 'FI'), ('all', 'FJ'), ('all', 'FK'),
|
||||||
|
('all', 'FM'), ('all', 'FO'), ('all', 'FR'), ('all', 'FX'), ('all', 'GA'),
|
||||||
|
('all', 'GB'), ('all', 'GD'), ('all', 'GE'), ('all', 'GF'), ('all', 'GH'),
|
||||||
|
('all', 'GI'), ('all', 'GL'), ('all', 'GM'), ('all', 'GN'), ('all', 'GP'),
|
||||||
|
('all', 'GQ'), ('all', 'GR'), ('all', 'GS'), ('all', 'GT'), ('all', 'GU'),
|
||||||
|
('all', 'GW'), ('all', 'GY'), ('all', 'HK'), ('all', 'HM'), ('all', 'HN'),
|
||||||
|
( 'all', 'HR'), ( 'all', 'HT'), ( 'all', 'HU'), ( 'all', 'ID'), ( 'all', 'IE'),
|
||||||
|
( 'all', 'IL'), ( 'all', 'IN'), ( 'all', 'IO'), ( 'all', 'IQ'), ( 'all', 'IR'),
|
||||||
|
( 'all', 'IS'), ( 'all', 'IT'), ( 'all', 'JM'), ( 'all', 'JO'), ( 'all', 'JP'),
|
||||||
|
( 'all', 'KE'), ( 'all', 'KG'), ( 'all', 'KH'), ( 'all', 'KI'), ( 'all', 'KM'),
|
||||||
|
( 'all', 'KN'), ( 'all', 'KP'), ( 'all', 'KR'), ( 'all', 'KW'), ( 'all', 'KY'),
|
||||||
|
( 'all', 'KZ'), ( 'all', 'LA'), ( 'all', 'LB'), ( 'all', 'LC'), ( 'all', 'LI'),
|
||||||
|
( 'all', 'LK'), ( 'all', 'LR'), ( 'all', 'LS'), ( 'all', 'LT'), ( 'all', 'LU'),
|
||||||
|
( 'all', 'LV'), ( 'all', 'LY'), ( 'all', 'MA'), ( 'all', 'MC'), ( 'all', 'MD'),
|
||||||
|
( 'all', 'ME'), ( 'all', 'MG'), ( 'all', 'MH'), ( 'all', 'MK'), ( 'all', 'ML'),
|
||||||
|
( 'all', 'MM'), ( 'all', 'MN'), ( 'all', 'MO'), ( 'all', 'MP'), ( 'all', 'MQ'),
|
||||||
|
( 'all', 'MR'), ( 'all', 'MS'), ( 'all', 'MT'), ( 'all', 'MU'), ( 'all', 'MV'),
|
||||||
|
( 'all', 'MW'), ( 'all', 'MX'), ( 'all', 'MY'), ( 'all', 'MZ'), ( 'all', 'NA'),
|
||||||
|
( 'all', 'NC'), ( 'all', 'NE'), ( 'all', 'NF'), ( 'all', 'NG'), ( 'all', 'NI'),
|
||||||
|
( 'all', 'NL'), ( 'all', 'NO'), ( 'all', 'NP'), ( 'all', 'NR'), ( 'all', 'NU'),
|
||||||
|
( 'all', 'NV'), ( 'all', 'NZ'), ( 'all', 'OM'), ( 'all', 'PA'), ( 'all', 'PE'),
|
||||||
|
( 'all', 'PF'), ( 'all', 'PG'), ( 'all', 'PH'), ( 'all', 'PK'), ( 'all', 'PL'),
|
||||||
|
( 'all', 'PM'), ( 'all', 'PN'), ( 'all', 'PR'), ( 'all', 'PS'), ( 'all', 'PT'),
|
||||||
|
( 'all', 'PW'), ( 'all', 'PY'), ( 'all', 'QA'), ( 'all', 'RE'), ( 'all', 'RO'),
|
||||||
|
( 'all', 'RU'), ( 'all', 'RW'), ( 'all', 'SA'), ( 'all', 'SB'), ( 'all', 'SC'),
|
||||||
|
( 'all', 'SD'), ( 'all', 'SE'), ( 'all', 'SG'), ( 'all', 'SH'), ( 'all', 'SI'),
|
||||||
|
( 'all', 'SJ'), ( 'all', 'SK'), ( 'all', 'SL'), ( 'all', 'SM'), ( 'all', 'SN'),
|
||||||
|
( 'all', 'SO'), ( 'all', 'SR'), ( 'all', 'ST'), ( 'all', 'SV'), ( 'all', 'SY'),
|
||||||
|
( 'all', 'SZ'), ( 'all', 'TA'), ( 'all', 'TC'), ( 'all', 'TD'), ( 'all', 'TF'),
|
||||||
|
( 'all', 'TG'), ( 'all', 'TH'), ( 'all', 'TJ'), ( 'all', 'TK'), ( 'all', 'TM'),
|
||||||
|
( 'all', 'TN'), ( 'all', 'TO'), ( 'all', 'TP'), ( 'all', 'TR'), ( 'all', 'TT'),
|
||||||
|
( 'all', 'TV'), ( 'all', 'TW'), ( 'all', 'TZ'), ( 'all', 'UA'), ( 'all', 'UG'),
|
||||||
|
( 'all', 'UM'), ( 'all', 'US'), ( 'all', 'UY'), ( 'all', 'UZ'), ( 'all', 'VA'),
|
||||||
|
( 'all', 'VC'), ( 'all', 'VE'), ( 'all', 'VG'), ( 'all', 'VI'), ( 'all', 'VN'),
|
||||||
|
( 'all', 'VU'), ( 'all', 'WF'), ( 'all', 'WS'), ( 'plfcz1', 'FI'),
|
||||||
|
( 'all', 'XE'), ( 'all', 'XS'), ( 'all', 'XU'), ( 'plfcz1', 'XE'),
|
||||||
|
( 'all', 'YE'), ( 'all', 'YT'), ( 'all', 'YU'), ( 'all', 'ZA'), ( 'all', 'ZM'),
|
||||||
|
( 'all', 'ZR'), ( 'all', 'ZW'), ( 'foreign', 'AD'), ( 'foreign', 'AE'),
|
||||||
|
( 'foreign', 'AF'), ( 'foreign', 'AG'), ( 'foreign', 'AI'),
|
||||||
|
( 'foreign', 'AL'), ( 'foreign', 'AM'), ( 'foreign', 'AN'), ( 'foreign', 'AO'),
|
||||||
|
( 'foreign', 'AP'), ( 'foreign', 'AQ'), ( 'foreign', 'AR'), ( 'foreign', 'AS'),
|
||||||
|
( 'foreign', 'AT'), ( 'foreign', 'AU'), ( 'foreign', 'AW'), ( 'foreign', 'AZ'),
|
||||||
|
( 'foreign', 'BA'), ( 'foreign', 'BB'), ( 'foreign', 'BD'), ( 'foreign', 'BE'),
|
||||||
|
( 'foreign', 'BF'), ( 'foreign', 'BG'), ( 'foreign', 'BH'), ( 'foreign', 'BI'),
|
||||||
|
( 'foreign', 'BJ'), ( 'foreign', 'BM'), ( 'foreign', 'BN'), ( 'foreign', 'BO'),
|
||||||
|
( 'foreign', 'BR'), ( 'foreign', 'BS'), ( 'foreign', 'BT'), ( 'foreign', 'BV'),
|
||||||
|
( 'foreign', 'BW'), ( 'foreign', 'BY'), ( 'foreign', 'BZ'), ( 'foreign', 'CA'),
|
||||||
|
( 'foreign', 'CC'), ( 'foreign', 'CD'), ( 'foreign', 'CF'), ( 'foreign', 'CG'),
|
||||||
|
( 'foreign', 'CI'), ( 'foreign', 'CK'), ( 'foreign', 'CL'), ( 'foreign', 'CM'),
|
||||||
|
( 'foreign', 'CN'), ( 'foreign', 'CO'), ( 'foreign', 'CR'), ( 'foreign', 'CU'),
|
||||||
|
( 'foreign', 'CV'), ( 'foreign', 'CX'), ( 'foreign', 'CY'), ( 'foreign', 'CZ'),
|
||||||
|
( 'foreign', 'DE'), ( 'foreign', 'DJ'), ( 'foreign', 'DK'), ( 'foreign', 'DM'),
|
||||||
|
( 'foreign', 'DO'), ( 'foreign', 'DZ'), ( 'foreign', 'EC'), ( 'foreign', 'EE'),
|
||||||
|
( 'foreign', 'EG'), ( 'foreign', 'EH'), ( 'foreign', 'EI'), ( 'foreign', 'ER'),
|
||||||
|
( 'foreign', 'ES'), ( 'foreign', 'ET'), ( 'foreign', 'FI'), ( 'foreign', 'FJ'),
|
||||||
|
( 'foreign', 'FK'), ( 'foreign', 'FM'), ( 'foreign', 'FO'), ( 'foreign', 'FR'),
|
||||||
|
( 'foreign', 'FX'), ( 'foreign', 'GA'), ( 'foreign', 'GB'), ( 'foreign', 'GD'),
|
||||||
|
( 'foreign', 'GE'), ( 'foreign', 'GF'), ( 'foreign', 'GH'), ( 'foreign', 'GI'),
|
||||||
|
( 'foreign', 'GL'), ( 'foreign', 'GM'), ( 'foreign', 'GN'), ( 'foreign', 'GP'),
|
||||||
|
( 'foreign', 'GQ'), ( 'foreign', 'GR'), ( 'foreign', 'GS'), ( 'foreign', 'GT'),
|
||||||
|
( 'foreign', 'GU'), ( 'foreign', 'GW'), ( 'foreign', 'GY'), ( 'foreign', 'HK'),
|
||||||
|
( 'foreign', 'HM'), ( 'foreign', 'HN'), ( 'foreign', 'HR'), ( 'foreign', 'HT'),
|
||||||
|
( 'foreign', 'HU'), ( 'foreign', 'ID'), ( 'foreign', 'IE'), ( 'foreign', 'IL'),
|
||||||
|
( 'foreign', 'IN'), ( 'foreign', 'IO'), ( 'foreign', 'IQ'), ( 'foreign', 'IR'),
|
||||||
|
( 'foreign', 'IS'), ( 'foreign', 'IT'), ( 'foreign', 'JM'), ( 'foreign', 'JO'),
|
||||||
|
( 'foreign', 'JP'), ( 'foreign', 'KE'), ( 'foreign', 'KG'), ( 'foreign', 'KH'),
|
||||||
|
( 'foreign', 'KI'), ( 'foreign', 'KM'), ( 'foreign', 'KN'), ( 'foreign', 'KP'),
|
||||||
|
( 'foreign', 'KR'), ( 'foreign', 'KW'), ( 'foreign', 'KY'), ( 'foreign', 'KZ'),
|
||||||
|
( 'foreign', 'LA'), ( 'foreign', 'LB'), ( 'foreign', 'LC'), ( 'foreign', 'LK'),
|
||||||
|
( 'foreign', 'LR'), ( 'foreign', 'LS'), ( 'foreign', 'LT'), ( 'foreign', 'LU'),
|
||||||
|
( 'foreign', 'LV'), ( 'foreign', 'LY'), ( 'foreign', 'MA'), ( 'foreign', 'MC'),
|
||||||
|
( 'foreign', 'MD'), ( 'foreign', 'ME'), ( 'foreign', 'MG'), ( 'foreign', 'MH'),
|
||||||
|
( 'foreign', 'MK'), ( 'foreign', 'ML'), ( 'foreign', 'MM'), ( 'foreign', 'MN'),
|
||||||
|
( 'foreign', 'MO'), ( 'foreign', 'MP'), ( 'foreign', 'MQ'), ( 'foreign', 'MR'),
|
||||||
|
( 'foreign', 'MS'), ( 'foreign', 'MT'), ( 'foreign', 'MU'), ( 'foreign', 'MV'),
|
||||||
|
( 'foreign', 'MW'), ( 'foreign', 'MX'), ( 'foreign', 'MY'), ( 'foreign', 'MZ'),
|
||||||
|
( 'foreign', 'NA'), ( 'foreign', 'NC'), ( 'foreign', 'NE'), ( 'foreign', 'NF'),
|
||||||
|
( 'foreign', 'NG'), ( 'foreign', 'NI'), ( 'foreign', 'NL'), ( 'foreign', 'NO'),
|
||||||
|
( 'foreign', 'NP'), ( 'foreign', 'NR'), ( 'foreign', 'NU'), ( 'foreign', 'NV'),
|
||||||
|
( 'foreign', 'NZ'), ( 'foreign', 'OM'), ( 'foreign', 'PA'), ( 'foreign', 'PE'),
|
||||||
|
( 'foreign', 'PF'), ( 'foreign', 'PG'), ( 'foreign', 'PH'), ( 'foreign', 'PK'),
|
||||||
|
( 'foreign', 'PL'), ( 'foreign', 'PM'), ( 'foreign', 'PN'), ( 'foreign', 'PR'),
|
||||||
|
( 'foreign', 'PS'), ( 'foreign', 'PT'), ( 'foreign', 'PW'), ( 'foreign', 'PY'),
|
||||||
|
( 'foreign', 'QA'), ( 'foreign', 'RE'), ( 'foreign', 'RO'), ( 'foreign', 'RU'),
|
||||||
|
( 'foreign', 'RW'), ( 'foreign', 'SA'), ( 'foreign', 'SB'), ( 'foreign', 'SC'),
|
||||||
|
( 'foreign', 'SD'), ( 'foreign', 'SE'), ( 'foreign', 'SG'), ( 'foreign', 'SH'),
|
||||||
|
( 'foreign', 'SI'), ( 'foreign', 'SJ'), ( 'foreign', 'SK'), ( 'foreign', 'SL'),
|
||||||
|
( 'foreign', 'SM'), ( 'foreign', 'SN'), ( 'foreign', 'SO'), ( 'foreign', 'SR'),
|
||||||
|
( 'foreign', 'ST'), ( 'foreign', 'SV'), ( 'foreign', 'SY'), ( 'foreign', 'SZ'),
|
||||||
|
( 'foreign', 'TA'), ( 'foreign', 'TC'), ( 'foreign', 'TD'), ( 'foreign', 'TF'),
|
||||||
|
( 'foreign', 'TG'), ( 'foreign', 'TH'), ( 'foreign', 'TJ'), ( 'foreign', 'TK'),
|
||||||
|
( 'foreign', 'TM'), ( 'foreign', 'TN'), ( 'foreign', 'TO'), ( 'foreign', 'TP'),
|
||||||
|
( 'foreign', 'TR'), ( 'foreign', 'TT'), ( 'foreign', 'TV'), ( 'foreign', 'TW'),
|
||||||
|
( 'foreign', 'TZ'), ( 'foreign', 'UA'), ( 'foreign', 'UG'), ( 'foreign', 'UM'),
|
||||||
|
( 'foreign', 'US'), ( 'foreign', 'UY'), ( 'foreign', 'UZ'), ( 'foreign', 'VA'),
|
||||||
|
( 'foreign', 'VC'), ( 'foreign', 'VE'), ( 'foreign', 'VG'), ( 'foreign', 'VI'),
|
||||||
|
( 'foreign', 'VN'), ( 'foreign', 'VU'), ( 'foreign', 'WF'), ( 'foreign', 'WS'),
|
||||||
|
( 'plfcz1', 'DK'), ( 'foreign', 'XE'), ( 'foreign', 'XS'), ( 'foreign', 'XU'),
|
||||||
|
( 'plfcz1', 'BE'), ( 'foreign', 'YE'), ( 'foreign', 'YT'), ( 'foreign', 'YU'),
|
||||||
|
( 'foreign', 'ZA'), ( 'foreign', 'ZM'), ( 'foreign', 'ZR'), ( 'foreign', 'ZW'),
|
||||||
|
( 'plfcz1', 'DE'), ( 'plfcz1', 'GI'), ( 'plfcz1', 'GR'), ( 'plfcz1', 'IS'),
|
||||||
|
( 'plfcz1', 'EI'), ( 'plfcz1', 'IT'), ( 'plfcz1', 'LU'), ( 'plfcz1', 'NL'),
|
||||||
|
( 'plfcz1', 'NO'), ( 'plfcz1', 'ES'), ( 'plfcz1', 'SE'), ( 'plfcz1', 'AL'),
|
||||||
|
( 'plfcz1', 'AD'), ( 'plfcz1', 'BY'), ( 'plfcz1', 'BA'), ( 'plfcz1', 'BG'),
|
||||||
|
( 'plfcz1', 'EE'), ( 'plfcz1', 'FO'), ( 'plfcz1', 'GL'), ( 'plfcz1', 'GB'),
|
||||||
|
( 'plfcz1', 'HR'), ( 'plfcz1', 'LV'), ( 'plfcz1', 'LT'), ( 'plfcz1', 'MT'),
|
||||||
|
( 'plfcz1', 'MK'), ( 'plfcz1', 'MD'), ( 'plfcz1', 'MC'), ( 'plfcz1', 'AT'),
|
||||||
|
( 'plfcz1', 'PL'), ( 'plfcz1', 'PT'), ( 'plfcz1', 'RO'), ( 'plfcz1', 'RU'),
|
||||||
|
( 'plfcz1', 'SM'), ( 'plfcz1', 'XS'), ( 'plfcz1', 'SK'), ( 'plfcz1', 'SI'),
|
||||||
|
( 'plfcz1', 'CZ'), ( 'plfcz1', 'TR'), ( 'plfcz1', 'UA'), ( 'plfcz1', 'HU'),
|
||||||
|
( 'plfcz1', 'VA'), ( 'plfcz1', 'CY'), ( 'plfcz2', 'AF'), ( 'plfcz2', 'DZ'),
|
||||||
|
( 'plfcz2', 'AS'), ( 'plfcz2', 'AO'), ( 'plfcz2', 'AI'), ( 'plfcz2', 'AQ'),
|
||||||
|
( 'plfcz2', 'AG'), ( 'plfcz2', 'AR'), ( 'plfcz2', 'AM'), ( 'plfcz2', 'AW'),
|
||||||
|
( 'plfcz2', 'AU'), ( 'plfcz2', 'AZ'), ( 'plfcz2', 'AP'), ( 'plfcz2', 'BS'),
|
||||||
|
( 'plfcz2', 'BH'), ( 'plfcz2', 'BD'), ( 'plfcz2', 'BB'), ( 'plfcz2', 'BZ'),
|
||||||
|
( 'plfcz2', 'BJ'), ( 'plfcz2', 'BM'), ( 'plfcz2', 'BT'), ( 'plfcz2', 'BO'),
|
||||||
|
( 'plfcz2', 'BW'), ( 'plfcz2', 'BV'), ( 'plfcz2', 'BR'), ( 'plfcz2', 'IO'),
|
||||||
|
( 'plfcz2', 'VG'), ( 'plfcz2', 'BN'), ( 'plfcz2', 'BF'), ( 'plfcz2', 'BI'),
|
||||||
|
( 'plfcz2', 'KH'), ( 'plfcz2', 'CM'), ( 'plfcz2', 'CA'), ( 'plfcz2', 'CV'),
|
||||||
|
( 'plfcz2', 'KY'), ( 'plfcz2', 'CF'), ( 'plfcz2', 'TD'), ( 'plfcz2', 'CL'),
|
||||||
|
( 'plfcz2', 'CN'), ( 'plfcz2', 'CX'), ( 'plfcz2', 'CC'), ( 'plfcz2', 'CO'),
|
||||||
|
( 'plfcz2', 'KM'), ( 'plfcz2', 'CG'), ( 'plfcz2', 'CD'), ( 'plfcz2', 'CK'),
|
||||||
|
( 'plfcz2', 'CR'), ( 'plfcz2', 'CI'), ( 'plfcz2', 'CU'), ( 'plfcz2', 'DJ'),
|
||||||
|
( 'plfcz2', 'DM'), ( 'plfcz2', 'DO'), ( 'plfcz2', 'TP'), ( 'plfcz2', 'EC'),
|
||||||
|
( 'plfcz2', 'EG'), ( 'plfcz2', 'SV'), ( 'plfcz2', 'GQ'), ( 'plfcz2', 'ER'),
|
||||||
|
( 'plfcz2', 'ET'), ( 'plfcz2', 'FK'), ( 'plfcz2', 'FJ'), ( 'plfcz2', 'FX'),
|
||||||
|
( 'plfcz2', 'GF'), ( 'plfcz2', 'PF'), ( 'plfcz2', 'TA'), ( 'plfcz2', 'TF'),
|
||||||
|
( 'plfcz2', 'GA'), ( 'plfcz2', 'GM'), ( 'plfcz2', 'GE'), ( 'plfcz2', 'GH'),
|
||||||
|
( 'plfcz2', 'GD'), ( 'plfcz2', 'GP'), ( 'plfcz2', 'GU'), ( 'plfcz2', 'GT'),
|
||||||
|
( 'plfcz2', 'GN'), ( 'plfcz2', 'GW'), ( 'plfcz2', 'GY'), ( 'plfcz2', 'HT'),
|
||||||
|
( 'plfcz2', 'HM'), ( 'plfcz2', 'HN'), ( 'plfcz2', 'HK'), ( 'plfcz2', 'IN'),
|
||||||
|
( 'plfcz2', 'ID'), ( 'plfcz2', 'IR'), ( 'plfcz2', 'IQ'), ( 'plfcz2', 'IE'),
|
||||||
|
( 'plfcz2', 'IL'), ( 'plfcz2', 'JM'), ( 'plfcz2', 'JP'), ( 'plfcz2', 'JO'),
|
||||||
|
( 'plfcz2', 'KZ'), ( 'plfcz2', 'KE'), ( 'plfcz2', 'KI'), ( 'plfcz2', 'KP'),
|
||||||
|
( 'plfcz2', 'KW'), ( 'plfcz2', 'KG'), ( 'plfcz2', 'LA'), ( 'plfcz2', 'LB'),
|
||||||
|
( 'plfcz2', 'LS'), ( 'plfcz2', 'LR'), ( 'plfcz2', 'LY'), ( 'plfcz2', 'MO'),
|
||||||
|
( 'plfcz2', 'MG'), ( 'plfcz2', 'ME'), ( 'plfcz2', 'MW'), ( 'plfcz2', 'MY'),
|
||||||
|
( 'plfcz2', 'MV'), ( 'plfcz2', 'ML'), ( 'plfcz2', 'MH'), ( 'plfcz2', 'MQ'),
|
||||||
|
( 'plfcz2', 'MR'), ( 'plfcz2', 'MU'), ( 'plfcz2', 'YT'), ( 'plfcz2', 'MX'),
|
||||||
|
( 'plfcz2', 'FM'), ( 'plfcz2', 'MN'), ( 'plfcz2', 'MS'), ( 'plfcz2', 'MA'),
|
||||||
|
( 'plfcz2', 'MZ'), ( 'plfcz2', 'MM'), ( 'plfcz2', 'NA'), ( 'plfcz2', 'NR'),
|
||||||
|
( 'plfcz2', 'NP'), ( 'plfcz2', 'AN'), ( 'plfcz2', 'NC'), ( 'plfcz2', 'NZ'),
|
||||||
|
( 'plfcz2', 'NI'), ( 'plfcz2', 'NE'), ( 'plfcz2', 'NG'), ( 'plfcz2', 'NU'),
|
||||||
|
( 'plfcz2', 'NF'), ( 'plfcz2', 'MP'), ( 'plfcz2', 'OM'), ( 'plfcz2', 'PK'),
|
||||||
|
( 'plfcz2', 'PW'), ( 'plfcz2', 'PS'), ( 'plfcz2', 'PA'), ( 'plfcz2', 'PG'),
|
||||||
|
( 'plfcz2', 'PY'), ( 'plfcz2', 'PE'), ( 'plfcz2', 'PH'), ( 'plfcz2', 'PN'),
|
||||||
|
( 'plfcz2', 'PR'), ( 'plfcz2', 'QA'), ( 'plfcz2', 'RE'), ( 'plfcz2', 'RW'),
|
||||||
|
( 'plfcz2', 'KN'), ( 'plfcz2', 'ST'), ( 'plfcz2', 'SA'), ( 'plfcz2', 'SN'),
|
||||||
|
( 'plfcz2', 'SC'), ( 'plfcz2', 'SL'), ( 'plfcz2', 'SG'), ( 'plfcz2', 'SB'),
|
||||||
|
( 'plfcz2', 'SO'), ( 'plfcz2', 'ZA'), ( 'plfcz2', 'GS'), ( 'plfcz2', 'KR'),
|
||||||
|
( 'plfcz2', 'LK'), ( 'plfcz2', 'NV'), ( 'plfcz2', 'SH'), ( 'plfcz2', 'LC'),
|
||||||
|
( 'plfcz2', 'PM'), ( 'plfcz2', 'VC'), ( 'plfcz2', 'SD'), ( 'plfcz2', 'SR'),
|
||||||
|
( 'plfcz2', 'SJ'), ( 'plfcz2', 'SZ'), ( 'plfcz2', 'SY'), ( 'plfcz2', 'TW'),
|
||||||
|
( 'plfcz2', 'TJ'), ( 'plfcz2', 'TZ'), ( 'plfcz2', 'TH'), ( 'plfcz2', 'TG'),
|
||||||
|
( 'plfcz2', 'TK'), ( 'plfcz2', 'TO'), ( 'plfcz2', 'TT'), ( 'plfcz2', 'XU'),
|
||||||
|
( 'plfcz2', 'TN'), ( 'plfcz2', 'TM'), ( 'plfcz2', 'TC'), ( 'plfcz2', 'TV'),
|
||||||
|
( 'plfcz2', 'UG'), ( 'plfcz2', 'AE'), ( 'plfcz2', 'US'), ( 'plfcz2', 'UM'),
|
||||||
|
( 'plfcz2', 'UY'), ( 'plfcz2', 'UZ'), ( 'plfcz2', 'VU'), ( 'plfcz2', 'VE'),
|
||||||
|
( 'plfcz2', 'VN'), ( 'plfcz2', 'VI'), ( 'plfcz2', 'WF'), ( 'plfcz2', 'EH'),
|
||||||
|
( 'plfcz2', 'WS'), ( 'plfcz2', 'YE'), ( 'plfcz2', 'YU'), ( 'plfcz2', 'ZR'),
|
||||||
|
( 'plfcz2', 'ZM'), ( 'plfcz2', 'ZW'), ( 'ppfcz1', 'AT'), ( 'ppfcz1', 'BE'),
|
||||||
|
( 'ppfcz1', 'DE'), ( 'ppfcz1', 'FR'), ( 'ppfcz1', 'FX'), ( 'ppfcz1', 'IT'),
|
||||||
|
( 'ppfcz1', 'LU'), ( 'ppfcz1', 'MC'), ( 'ppfcz1', 'NL'), ( 'ppfcz1', 'SM'),
|
||||||
|
( 'ppfcz1', 'VA'), ( 'ppfcz1', 'XE'), ( 'ppfcz2', 'AD'), ( 'ppfcz2', 'AL'),
|
||||||
|
( 'ppfcz2', 'BA'), ( 'ppfcz2', 'BG'), ( 'ppfcz2', 'BY'), ( 'ppfcz2', 'CY'),
|
||||||
|
( 'ppfcz2', 'CZ'), ( 'ppfcz2', 'DK'), ( 'ppfcz2', 'EE'), ( 'ppfcz2', 'EI'),
|
||||||
|
( 'ppfcz2', 'ES'), ( 'ppfcz2', 'FI'), ( 'ppfcz2', 'FO'), ( 'ppfcz2', 'GB'),
|
||||||
|
( 'ppfcz2', 'GI'), ( 'ppfcz2', 'GL'), ( 'ppfcz2', 'GR'), ( 'ppfcz2', 'HR'),
|
||||||
|
( 'ppfcz2', 'HU'), ( 'ppfcz2', 'IE'), ( 'ppfcz2', 'IS'), ( 'ppfcz2', 'LT'),
|
||||||
|
( 'ppfcz2', 'LV'), ( 'ppfcz2', 'MD'), ( 'ppfcz2', 'MK'), ( 'ppfcz2', 'MT'),
|
||||||
|
( 'ppfcz2', 'NO'), ( 'ppfcz2', 'PL'), ( 'ppfcz2', 'PT'), ( 'ppfcz2', 'RO'),
|
||||||
|
( 'ppfcz2', 'RU'), ( 'ppfcz2', 'SE'), ( 'ppfcz2', 'SI'), ( 'ppfcz2', 'SK'),
|
||||||
|
( 'ppfcz2', 'TR'), ( 'ppfcz2', 'UA'), ( 'ppfcz2', 'XS'), ( 'ppfcz2', 'YU'),
|
||||||
|
( 'ppfcz3', 'CA'), ( 'ppfcz3', 'DZ'), ( 'ppfcz3', 'EG'), ( 'ppfcz3', 'IL'),
|
||||||
|
( 'ppfcz3', 'JO'), ( 'ppfcz3', 'LB'), ( 'ppfcz3', 'LY'), ( 'ppfcz3', 'MA'),
|
||||||
|
( 'ppfcz3', 'MX'), ( 'ppfcz3', 'PM'), ( 'ppfcz3', 'SY'), ( 'ppfcz3', 'TN'),
|
||||||
|
( 'ppfcz3', 'US'), ( 'ppfcz4', 'AE'), ( 'ppfcz4', 'AF'), ( 'ppfcz4', 'AM'),
|
||||||
|
( 'ppfcz4', 'AO'), ( 'ppfcz4', 'AZ'), ( 'ppfcz4', 'BD'), ( 'ppfcz4', 'BF'),
|
||||||
|
( 'ppfcz4', 'BH'), ( 'ppfcz4', 'BI'), ( 'ppfcz4', 'BJ'), ( 'ppfcz4', 'BT'),
|
||||||
|
( 'ppfcz4', 'BV'), ( 'ppfcz4', 'BW'), ( 'ppfcz4', 'CF'), ( 'ppfcz4', 'CG'),
|
||||||
|
( 'ppfcz4', 'CI'), ( 'ppfcz4', 'CM'), ( 'ppfcz4', 'CN'), ( 'ppfcz4', 'DJ'),
|
||||||
|
( 'ppfcz4', 'DO'), ( 'ppfcz4', 'ER'), ( 'ppfcz4', 'ET'), ( 'ppfcz4', 'GA'),
|
||||||
|
( 'ppfcz4', 'GE'), ( 'ppfcz4', 'GH'), ( 'ppfcz4', 'GM'), ( 'ppfcz4', 'GN'),
|
||||||
|
( 'ppfcz4', 'GQ'), ( 'ppfcz4', 'GW'), ( 'ppfcz4', 'HK'), ( 'ppfcz4', 'IN'),
|
||||||
|
( 'ppfcz4', 'IQ'), ( 'ppfcz4', 'IR'), ( 'ppfcz4', 'JP'), ( 'ppfcz4', 'KE'),
|
||||||
|
( 'ppfcz4', 'KG'), ( 'ppfcz4', 'KH'), ( 'ppfcz4', 'KP'), ( 'ppfcz4', 'KW'),
|
||||||
|
( 'ppfcz4', 'KZ'), ( 'ppfcz4', 'LA'), ( 'ppfcz4', 'LK'), ( 'ppfcz4', 'LR'),
|
||||||
|
( 'ppfcz4', 'LS'), ( 'ppfcz4', 'MG'), ( 'ppfcz4', 'ML'), ( 'ppfcz4', 'MM'),
|
||||||
|
( 'ppfcz4', 'MN'), ( 'ppfcz4', 'MO'), ( 'ppfcz4', 'MR'), ( 'ppfcz4', 'MU'),
|
||||||
|
( 'ppfcz4', 'MV'), ( 'ppfcz4', 'MW'), ( 'ppfcz4', 'MY'), ( 'ppfcz4', 'MZ'),
|
||||||
|
( 'ppfcz4', 'NA'), ( 'ppfcz4', 'NE'), ( 'ppfcz4', 'NG'), ( 'ppfcz4', 'NP'),
|
||||||
|
( 'ppfcz4', 'OM'), ( 'ppfcz4', 'PK'), ( 'ppfcz4', 'QA'), ( 'ppfcz4', 'RE'),
|
||||||
|
( 'ppfcz4', 'RW'), ( 'ppfcz4', 'SA'), ( 'ppfcz4', 'SC'), ( 'ppfcz4', 'SD'),
|
||||||
|
( 'ppfcz4', 'SG'), ( 'ppfcz4', 'SH'), ( 'ppfcz4', 'SL'), ( 'ppfcz4', 'SN'),
|
||||||
|
( 'ppfcz4', 'SO'), ( 'ppfcz4', 'SZ'), ( 'ppfcz4', 'TD'), ( 'ppfcz4', 'TG'),
|
||||||
|
( 'ppfcz4', 'TH'), ( 'ppfcz4', 'TJ'), ( 'ppfcz4', 'TM'), ( 'ppfcz4', 'TW'),
|
||||||
|
( 'ppfcz4', 'TZ'), ( 'ppfcz4', 'UG'), ( 'ppfcz4', 'UZ'), ( 'ppfcz4', 'VN'),
|
||||||
|
( 'ppfcz4', 'XU'), ( 'ppfcz4', 'YT'), ( 'ppfcz4', 'ZA'), ( 'ppfcz4', 'ZW'),
|
||||||
|
( 'ppfcz5', 'AG'), ( 'ppfcz5', 'AI'), ( 'ppfcz5', 'AN'), ( 'ppfcz5', 'AP'),
|
||||||
|
( 'ppfcz5', 'AQ'), ( 'ppfcz5', 'AR'), ( 'ppfcz5', 'AS'), ( 'ppfcz5', 'AU'),
|
||||||
|
( 'ppfcz5', 'AW'), ( 'ppfcz5', 'BB'), ( 'ppfcz5', 'BM'), ( 'ppfcz5', 'BN'),
|
||||||
|
( 'ppfcz5', 'BO'), ( 'ppfcz5', 'BR'), ( 'ppfcz5', 'BS'), ( 'ppfcz5', 'BZ'),
|
||||||
|
( 'ppfcz5', 'CC'), ( 'ppfcz5', 'CD'), ( 'ppfcz5', 'CK'), ( 'ppfcz5', 'CL'),
|
||||||
|
( 'ppfcz5', 'CO'), ( 'ppfcz5', 'CR'), ( 'ppfcz5', 'CU'), ( 'ppfcz5', 'CV'),
|
||||||
|
( 'ppfcz5', 'CX'), ( 'ppfcz5', 'DM'), ( 'ppfcz5', 'EC'), ( 'ppfcz5', 'EH'),
|
||||||
|
( 'ppfcz5', 'FJ'), ( 'ppfcz5', 'FK'), ( 'ppfcz5', 'FM'), ( 'ppfcz5', 'GD'),
|
||||||
|
( 'ppfcz5', 'GF'), ( 'ppfcz5', 'GP'), ( 'ppfcz5', 'GS'), ( 'ppfcz5', 'GT'),
|
||||||
|
( 'ppfcz5', 'GU'), ( 'ppfcz5', 'GY'), ( 'ppfcz5', 'HM'), ( 'ppfcz5', 'HN'),
|
||||||
|
( 'ppfcz5', 'HT'), ( 'ppfcz5', 'ID'), ( 'ppfcz5', 'IO'), ( 'ppfcz5', 'JM'),
|
||||||
|
( 'ppfcz5', 'KI'), ( 'ppfcz5', 'KM'), ( 'ppfcz5', 'KN'), ( 'ppfcz5', 'KR'),
|
||||||
|
( 'ppfcz5', 'KY'), ( 'ppfcz5', 'LC'), ( 'ppfcz5', 'ME'), ( 'ppfcz5', 'MH'),
|
||||||
|
( 'ppfcz5', 'MP'), ( 'ppfcz5', 'MQ'), ( 'ppfcz5', 'MS'), ( 'ppfcz5', 'NC'),
|
||||||
|
( 'ppfcz5', 'NF'), ( 'ppfcz5', 'NI'), ( 'ppfcz5', 'NR'), ( 'ppfcz5', 'NU'),
|
||||||
|
( 'ppfcz5', 'NZ'), ( 'ppfcz5', 'PA'), ( 'ppfcz5', 'PE'), ( 'ppfcz5', 'PF'),
|
||||||
|
( 'ppfcz5', 'PG'), ( 'ppfcz5', 'PH'), ( 'ppfcz5', 'PN'), ( 'ppfcz5', 'PR'),
|
||||||
|
( 'ppfcz5', 'PS'), ( 'ppfcz5', 'PW'), ( 'ppfcz5', 'PY'), ( 'ppfcz5', 'SB'),
|
||||||
|
( 'ppfcz5', 'SJ'), ( 'ppfcz5', 'SR'), ( 'ppfcz5', 'ST'), ( 'ppfcz5', 'SV'),
|
||||||
|
( 'ppfcz5', 'TA'), ( 'ppfcz5', 'TC'), ( 'ppfcz5', 'TF'), ( 'ppfcz5', 'TK'),
|
||||||
|
( 'ppfcz5', 'TO'), ( 'ppfcz5', 'TP'), ( 'ppfcz5', 'TT'), ( 'ppfcz5', 'TV'),
|
||||||
|
( 'ppfcz5', 'UM'), ( 'ppfcz5', 'UY'), ( 'ppfcz5', 'VC'), ( 'ppfcz5', 'VE'),
|
||||||
|
( 'ppfcz5', 'VG'), ( 'ppfcz5', 'VI'), ( 'ppfcz5', 'VU'), ( 'ppfcz5', 'WF'),
|
||||||
|
( 'ppfcz5', 'WS'), ( 'ppfcz5', 'YE'), ( 'ppfcz5', 'ZM'), ( 'ppfcz5', 'ZR');
|
||||||
|
|
||||||
|
INSERT INTO t2 (a, b, c, d) VALUES
|
||||||
|
('domestic', 26, 0.25, 4.7), ('domestic', 27, 0.25, 6),
|
||||||
|
('domestic', 19, 2, 6.3), ('domestic', 19, 5, 7.77),
|
||||||
|
('domestic', 19, 10, 10.3), ('domestic', 19, 20, 14.83),
|
||||||
|
('domestic', 19, 30, 20.88), ('domestic', 20, 2, 7.3),
|
||||||
|
('domestic', 20, 5, 8.77), ('domestic', 20, 10, 11.3),
|
||||||
|
('domestic', 20, 20, 15.83), ('domestic', 20, 30, 21.88),
|
||||||
|
('domestic', 23, 2, 18.8), ('domestic', 23, 5, 20.8),
|
||||||
|
('domestic', 23, 10, 24.8), ('domestic', 23, 20, 27.8),
|
||||||
|
('domestic', 23, 30, 30.8), ('domestic', 24, 2, 21.1405),
|
||||||
|
('domestic', 24, 5, 22.3705), ('domestic', 24, 10, 25.0905),
|
||||||
|
('domestic', 24, 20, 29.7705), ('domestic', 24, 30, 35.9605),
|
||||||
|
('domestic', 17, 2, 7.2), ('domestic', 17, 5, 8.43),
|
||||||
|
('domestic', 17, 10, 11.15), ('domestic', 17, 20, 15.83),
|
||||||
|
('domestic', 17, 30, 22.02), ('domestic', 18, 2, 8.2),
|
||||||
|
('domestic', 18, 5, 9.43), ('domestic', 18, 10, 12.15),
|
||||||
|
('domestic', 18, 20, 16.83), ('domestic', 18, 30, 23.02),
|
||||||
|
('domestic', 28, 2, 17), ('domestic', 28, 5, 19),
|
||||||
|
('domestic', 28, 10, 22), ('domestic', 28, 20, 28),
|
||||||
|
('domestic', 28, 30, 35), ('domestic', 29, 30, 29.5),
|
||||||
|
('foreign', 25, 200, 0), ('domestic', 3, 100, 59),
|
||||||
|
('foreign', 10, 30, 0), ('foreign', 22, 0, 0),
|
||||||
|
('foreign', 11, 30, 0), ('foreign', 12, 30, 0),
|
||||||
|
('all', 1, 10000, 0), ('all', 2, 10000, 0),
|
||||||
|
('domestic', 9, 10000, 0), ('domestic', 4, 500, 0),
|
||||||
|
('domestic', 5, 500, 0), ('domestic', 6, 500, 0),
|
||||||
|
('domestic', 7, 500, 0), ('domestic', 8, 500, 0),
|
||||||
|
('domestic', 21, 3.9, 10.8), ('domestic', 21, 4.9, 12.2),
|
||||||
|
('domestic', 21, 9.9, 15.3), ('domestic', 21, 19.9, 20.6),
|
||||||
|
('domestic', 21, 30, 28.1), ('plfcz1', 16, 0.5, 19),
|
||||||
|
('plfcz2', 16, 0.5, 25), ( 'ppfcz2', 15, 16, 76.5),
|
||||||
|
( 'ppfcz2', 15, 15, 75.5), ( 'ppfcz2', 15, 14, 73.5),
|
||||||
|
( 'ppfcz2', 15, 13, 71.5), ( 'ppfcz2', 15, 12, 69.5),
|
||||||
|
( 'ppfcz2', 15, 11, 67.5), ( 'ppfcz2', 15, 10, 65.5),
|
||||||
|
( 'ppfcz2', 15, 9, 62.5), ( 'ppfcz2', 15, 8, 59.5),
|
||||||
|
( 'ppfcz2', 15, 7, 56.5), ( 'ppfcz2', 15, 6, 53.5),
|
||||||
|
( 'ppfcz2', 15, 5, 50.5), ( 'ppfcz2', 15, 4, 46.5),
|
||||||
|
( 'ppfcz2', 15, 3, 42.5), ( 'ppfcz2', 15, 2, 38.5),
|
||||||
|
('ppfcz1', 15, 2, 33.5), ('ppfcz1', 15, 3, 36.5),
|
||||||
|
('ppfcz1', 15, 4, 39.5), ('ppfcz1', 15, 5, 41.5),
|
||||||
|
('ppfcz1', 15, 6, 42.5), ('ppfcz1', 15, 7, 43.5),
|
||||||
|
('ppfcz1', 15, 8, 44.5), ('ppfcz1', 15, 9, 45.5),
|
||||||
|
('ppfcz1', 15, 10, 46.5), ('ppfcz1', 15, 11, 47.5),
|
||||||
|
( 'ppfcz1', 15, 12, 48.5), ( 'ppfcz1', 15, 13, 49.5), ( 'ppfcz1', 15, 14, 50.5),
|
||||||
|
( 'ppfcz1', 15, 15, 51.5), ( 'ppfcz1', 15, 16, 52.5), ( 'ppfcz1', 15, 17, 53.5),
|
||||||
|
( 'ppfcz1', 15, 18, 54.5), ( 'ppfcz1', 15, 19, 55.5), ( 'ppfcz1', 15, 20, 56.5),
|
||||||
|
( 'ppfcz1', 15, 21, 57.5), ( 'ppfcz1', 15, 22, 58.5), ( 'ppfcz1', 15, 23, 59.5),
|
||||||
|
( 'ppfcz1', 15, 24, 60.5), ( 'ppfcz1', 15, 25, 61.5), ( 'ppfcz1', 15, 26, 62.5),
|
||||||
|
( 'ppfcz1', 15, 27, 63.5), ( 'ppfcz1', 15, 28, 64.5), ( 'ppfcz1', 15, 29, 65.5),
|
||||||
|
( 'ppfcz1', 15, 30, 66.5), ( 'ppfcz2', 15, 17, 77.5), ( 'ppfcz2', 15, 18, 78.5),
|
||||||
|
( 'ppfcz2', 15, 19, 79.5), ( 'ppfcz2', 15, 20, 80.5), ( 'ppfcz2', 15, 21, 81.5),
|
||||||
|
( 'ppfcz2', 15, 22, 82.5), ( 'ppfcz2', 15, 23, 83.5), ( 'ppfcz2', 15, 24, 84.5),
|
||||||
|
( 'ppfcz2', 15, 25, 85.5), ( 'ppfcz2', 15, 26, 86.5), ( 'ppfcz2', 15, 27, 87.5),
|
||||||
|
( 'ppfcz2', 15, 28, 88.5), ( 'ppfcz2', 15, 29, 89.5), ( 'ppfcz2', 15, 30, 90.5),
|
||||||
|
( 'ppfcz3', 15, 2, 39.5), ( 'ppfcz3', 15, 3, 45.5), ( 'ppfcz3', 15, 4, 51.5),
|
||||||
|
( 'ppfcz3', 15, 5, 57.5), ( 'ppfcz3', 15, 6, 63.5), ( 'ppfcz3', 15, 7, 69.5),
|
||||||
|
( 'ppfcz3', 15, 8, 75.5), ( 'ppfcz3', 15, 9, 81.5), ( 'ppfcz3', 15, 10, 87.5),
|
||||||
|
( 'ppfcz3', 15, 11, 93.5), ( 'ppfcz3', 15, 12, 99.5), ( 'ppfcz3', 15, 13, 105.5),
|
||||||
|
( 'ppfcz3', 15, 14, 111.5), ( 'ppfcz3', 15, 15, 117.5), ( 'ppfcz3', 15, 16, 122.5),
|
||||||
|
( 'ppfcz3', 15, 17, 127.5), ( 'ppfcz3', 15, 18, 132.5), ( 'ppfcz3', 15, 19, 137.5),
|
||||||
|
( 'ppfcz3', 15, 20, 142.5), ( 'ppfcz3', 15, 21, 146.5), ( 'ppfcz3', 15, 22, 150.5),
|
||||||
|
( 'ppfcz3', 15, 23, 154.5), ( 'ppfcz3', 15, 24, 158.5), ( 'ppfcz3', 15, 25, 162.5),
|
||||||
|
( 'ppfcz3', 15, 26, 166.5), ( 'ppfcz3', 15, 27, 170.5), ( 'ppfcz3', 15, 28, 174.5),
|
||||||
|
( 'ppfcz3', 15, 29, 178.5), ( 'ppfcz3', 15, 30, 182.5), ( 'ppfcz4', 15, 2, 44.5),
|
||||||
|
( 'ppfcz4', 15, 3, 51.5), ( 'ppfcz4', 15, 4, 58.5), ( 'ppfcz4', 15, 5, 65.5),
|
||||||
|
( 'ppfcz4', 15, 6, 72.5), ( 'ppfcz4', 15, 7, 79.5), ( 'ppfcz4', 15, 8, 86.5),
|
||||||
|
( 'ppfcz4', 15, 9, 93.5), ( 'ppfcz4', 15, 10, 100.5), ( 'ppfcz4', 15, 11, 105.5),
|
||||||
|
( 'ppfcz4', 15, 12, 110.5), ( 'ppfcz4', 15, 13, 115.5), ( 'ppfcz4', 15, 14, 120.5),
|
||||||
|
( 'ppfcz4', 15, 15, 125.5), ( 'ppfcz4', 15, 16, 130.5), ( 'ppfcz4', 15, 17, 135.5),
|
||||||
|
( 'ppfcz4', 15, 18, 140.5), ( 'ppfcz4', 15, 19, 145.5), ( 'ppfcz4', 15, 20, 150.5),
|
||||||
|
( 'ppfcz4', 15, 21, 154.5), ( 'ppfcz4', 15, 22, 158.5), ( 'ppfcz4', 15, 23, 162.5),
|
||||||
|
( 'ppfcz4', 15, 24, 166.5), ( 'ppfcz4', 15, 25, 170.5), ( 'ppfcz4', 15, 26, 174.5),
|
||||||
|
( 'ppfcz4', 15, 27, 178.5), ( 'ppfcz4', 15, 28, 182.5), ( 'ppfcz4', 15, 29, 186.5),
|
||||||
|
( 'ppfcz4', 15, 30, 190.5), ( 'ppfcz5', 15, 2, 48.5), ( 'ppfcz5', 15, 3, 56.5),
|
||||||
|
( 'ppfcz5', 15, 4, 64.5), ( 'ppfcz5', 15, 5, 72.5), ( 'ppfcz5', 15, 6, 80.5),
|
||||||
|
( 'ppfcz5', 15, 7, 88.5), ( 'ppfcz5', 15, 8, 96.5), ( 'ppfcz5', 15, 9, 104.5),
|
||||||
|
( 'ppfcz5', 15, 10, 112.5), ( 'ppfcz5', 15, 11, 119.5), ( 'ppfcz5', 15, 12, 126.5),
|
||||||
|
( 'ppfcz5', 15, 13, 133.5), ( 'ppfcz5', 15, 14, 140.5), ( 'ppfcz5', 15, 15, 147.5),
|
||||||
|
( 'ppfcz5', 15, 16, 153.5), ( 'ppfcz5', 15, 17, 161.5), ( 'ppfcz5', 15, 18, 167.5),
|
||||||
|
( 'ppfcz5', 15, 19, 173.5), ( 'ppfcz5', 15, 20, 179.5), ( 'ppfcz5', 15, 21, 185.5),
|
||||||
|
( 'ppfcz5', 15, 22, 191.5), ( 'ppfcz5', 15, 23, 197.5), ( 'ppfcz5', 15, 24, 203.5),
|
||||||
|
( 'ppfcz5', 15, 25, 207.5), ( 'ppfcz5', 15, 26, 212.5), ( 'ppfcz5', 15, 27, 217.5),
|
||||||
|
( 'ppfcz5', 15, 28, 222.5), ( 'ppfcz5', 15, 29, 227.5), ( 'ppfcz5', 15, 30, 232.5),
|
||||||
|
( 'ppfcz1', 14, 2, 37.5), ( 'ppfcz1', 14, 3, 41.5), ( 'ppfcz1', 14, 4, 45.5),
|
||||||
|
( 'ppfcz1', 14, 5, 48.5), ( 'ppfcz1', 14, 6, 52.5), ( 'ppfcz1', 14, 7, 55.5),
|
||||||
|
( 'ppfcz1', 14, 8, 57.5), ( 'ppfcz1', 14, 9, 59.5), ( 'ppfcz1', 14, 10, 61.5),
|
||||||
|
( 'ppfcz1', 14, 11, 62.5), ( 'ppfcz1', 14, 12, 63.5), ( 'ppfcz1', 14, 13, 64.5),
|
||||||
|
( 'ppfcz1', 14, 14, 65.5), ( 'ppfcz1', 14, 15, 66.5), ( 'ppfcz1', 14, 16, 67.5),
|
||||||
|
( 'ppfcz1', 14, 17, 68.5), ( 'ppfcz1', 14, 18, 69.5), ( 'ppfcz1', 14, 19, 70.5),
|
||||||
|
( 'ppfcz1', 14, 20, 71.5), ( 'ppfcz1', 14, 21, 72.5), ( 'ppfcz1', 14, 22, 73.5),
|
||||||
|
( 'ppfcz1', 14, 23, 74.5), ( 'ppfcz1', 14, 24, 75.5), ( 'ppfcz1', 14, 25, 76.5),
|
||||||
|
( 'ppfcz1', 14, 26, 77.5), ( 'ppfcz1', 14, 27, 78.5), ( 'ppfcz1', 14, 28, 79.5),
|
||||||
|
( 'ppfcz1', 14, 29, 80.5), ( 'ppfcz1', 14, 30, 81.5), ( 'ppfcz2', 14, 2, 43.5),
|
||||||
|
( 'ppfcz2', 14, 3, 48.5), ( 'ppfcz2', 14, 4, 53.5), ( 'ppfcz2', 14, 5, 57.5),
|
||||||
|
( 'ppfcz2', 14, 6, 61.5), ( 'ppfcz2', 14, 7, 65.5), ( 'ppfcz2', 14, 8, 69.5),
|
||||||
|
( 'ppfcz2', 14, 9, 73.5), ( 'ppfcz2', 14, 10, 77.5), ( 'ppfcz2', 14, 11, 80.5),
|
||||||
|
( 'ppfcz2', 14, 12, 83.5), ( 'ppfcz2', 14, 13, 86.5), ( 'ppfcz2', 14, 14, 89.5),
|
||||||
|
( 'ppfcz2', 14, 15, 92.5), ( 'ppfcz2', 14, 16, 94.5), ( 'ppfcz2', 14, 17, 96.5),
|
||||||
|
( 'ppfcz2', 14, 18, 98.5), ( 'ppfcz2', 14, 19, 99.5), ( 'ppfcz2', 14, 20, 100.5),
|
||||||
|
( 'ppfcz2', 14, 21, 101.5), ( 'ppfcz2', 14, 22, 102.5), ( 'ppfcz2', 14, 23, 103.5),
|
||||||
|
( 'ppfcz2', 14, 24, 104.5), ( 'ppfcz2', 14, 25, 105.5), ( 'ppfcz2', 14, 26, 106.5),
|
||||||
|
( 'ppfcz2', 14, 27, 107.5), ( 'ppfcz2', 14, 28, 108.5), ( 'ppfcz2', 14, 29, 109.5),
|
||||||
|
( 'ppfcz2', 14, 30, 110.5), ( 'ppfcz3', 14, 2, 47.5), ( 'ppfcz3', 14, 3, 56.5),
|
||||||
|
( 'ppfcz3', 14, 4, 67.5), ( 'ppfcz3', 14, 5, 78.5), ( 'ppfcz3', 14, 6, 87.5),
|
||||||
|
( 'ppfcz3', 14, 7, 96.5), ( 'ppfcz3', 14, 8, 105.5), ( 'ppfcz3', 14, 9, 114.5),
|
||||||
|
( 'ppfcz3', 14, 10, 123.5), ( 'ppfcz3', 14, 11, 131.5), ( 'ppfcz3', 14, 12, 139.5),
|
||||||
|
( 'ppfcz3', 14, 13, 147.5), ( 'ppfcz3', 14, 14, 155.5), ( 'ppfcz3', 14, 15, 163.5),
|
||||||
|
( 'ppfcz3', 14, 16, 171.5), ( 'ppfcz3', 14, 17, 179.5), ( 'ppfcz3', 14, 18, 187.5),
|
||||||
|
( 'ppfcz3', 14, 19, 195.5), ( 'ppfcz3', 14, 20, 203.5), ( 'ppfcz3', 14, 21, 210.5),
|
||||||
|
( 'ppfcz3', 14, 22, 217.5), ( 'ppfcz3', 14, 23, 224.5), ( 'ppfcz3', 14, 24, 231.5),
|
||||||
|
( 'ppfcz3', 14, 25, 238.5), ( 'ppfcz3', 14, 26, 245.5), ( 'ppfcz3', 14, 27, 252.5),
|
||||||
|
( 'ppfcz3', 14, 28, 259.5), ( 'ppfcz3', 14, 29, 266.5), ( 'ppfcz3', 14, 30, 273.5),
|
||||||
|
( 'ppfcz4', 14, 2, 54.5), ( 'ppfcz4', 14, 3, 68.5), ( 'ppfcz4', 14, 4, 81.5),
|
||||||
|
( 'ppfcz4', 14, 5, 95.5), ( 'ppfcz4', 14, 6, 108.5), ( 'ppfcz4', 14, 7, 121.5),
|
||||||
|
( 'ppfcz4', 14, 8, 134.5), ( 'ppfcz4', 14, 9, 147.5), ( 'ppfcz4', 14, 10, 160.5),
|
||||||
|
( 'ppfcz4', 14, 11, 168.5), ( 'ppfcz4', 14, 12, 178.5), ( 'ppfcz4', 14, 13, 188.5),
|
||||||
|
( 'ppfcz4', 14, 14, 198.5), ( 'ppfcz4', 14, 15, 208.5), ( 'ppfcz4', 14, 16, 216.5),
|
||||||
|
( 'ppfcz4', 14, 17, 224.5), ( 'ppfcz4', 14, 18, 232.5), ( 'ppfcz4', 14, 19, 240.5),
|
||||||
|
( 'ppfcz4', 14, 20, 248.5), ( 'ppfcz4', 14, 21, 256.5), ( 'ppfcz4', 14, 22, 264.5),
|
||||||
|
( 'ppfcz4', 14, 23, 272.5), ( 'ppfcz4', 14, 24, 280.5), ( 'ppfcz4', 14, 25, 288.5),
|
||||||
|
( 'ppfcz4', 14, 26, 296.5), ( 'ppfcz4', 14, 27, 304.5), ( 'ppfcz4', 14, 28, 312.5),
|
||||||
|
( 'ppfcz4', 14, 29, 320.5), ( 'ppfcz4', 14, 30, 328.5), ( 'ppfcz5', 14, 2, 66.5),
|
||||||
|
( 'ppfcz5', 14, 3, 84.5), ( 'ppfcz5', 14, 4, 102.5), ( 'ppfcz5', 14, 5, 120.5),
|
||||||
|
( 'ppfcz5', 14, 6, 137.5), ( 'ppfcz5', 14, 7, 154.5), ( 'ppfcz5', 14, 8, 171.5),
|
||||||
|
( 'ppfcz5', 14, 9, 188.5), ( 'ppfcz5', 14, 10, 205.5), ( 'ppfcz5', 14, 11, 220.5),
|
||||||
|
( 'ppfcz5', 14, 12, 235.5), ( 'ppfcz5', 14, 13, 250.5), ( 'ppfcz5', 14, 14, 265.5),
|
||||||
|
( 'ppfcz5', 14, 15, 280.5), ( 'ppfcz5', 14, 16, 295.5), ( 'ppfcz5', 14, 17, 310.5),
|
||||||
|
( 'ppfcz5', 14, 18, 325.5), ( 'ppfcz5', 14, 19, 340.5), ( 'ppfcz5', 14, 20, 355.5),
|
||||||
|
( 'ppfcz5', 14, 21, 368.5), ( 'ppfcz5', 14, 22, 381.5), ( 'ppfcz5', 14, 23, 394.5),
|
||||||
|
( 'ppfcz5', 14, 24, 407.5), ( 'ppfcz5', 14, 25, 420.5), ( 'ppfcz5', 14, 26, 433.5),
|
||||||
|
( 'ppfcz5', 14, 27, 446.5), ( 'ppfcz5', 14, 28, 459.5), ( 'ppfcz5', 14, 29, 472.5),
|
||||||
|
( 'ppfcz5', 14, 30, 485.5), ( 'ppfcz1', 30, 0.5, 56.5), ( 'ppfcz1', 30, 1, 63.5),
|
||||||
|
( 'ppfcz1', 30, 1.5, 69.5), ( 'ppfcz1', 30, 2, 75.5), ( 'ppfcz1', 30, 2.5, 80.5),
|
||||||
|
( 'ppfcz1', 30, 3, 86.5), ( 'ppfcz1', 30, 3.5, 92.5), ( 'ppfcz1', 30, 4, 99.5),
|
||||||
|
( 'ppfcz1', 30, 4.5, 105.5), ( 'ppfcz1', 30, 5, 111.5), ( 'ppfcz1', 30, 6, 118.5),
|
||||||
|
( 'ppfcz1', 30, 7, 126.5), ( 'ppfcz1', 30, 8, 133.5), ( 'ppfcz1', 30, 9, 141.5),
|
||||||
|
( 'ppfcz1', 30, 10, 148.5), ( 'ppfcz1', 30, 11, 156.5), ( 'ppfcz1', 30, 12, 163.5),
|
||||||
|
( 'ppfcz1', 30, 13, 171.5), ( 'ppfcz1', 30, 14, 178.5), ( 'ppfcz1', 30, 15, 186.5),
|
||||||
|
( 'ppfcz1', 30, 16, 193.5), ( 'ppfcz1', 30, 17, 201.5), ( 'ppfcz1', 30, 18, 209.5),
|
||||||
|
( 'ppfcz1', 30, 19, 216.5), ( 'ppfcz1', 30, 20, 224.5), ( 'ppfcz1', 30, 21, 231.5),
|
||||||
|
( 'ppfcz1', 30, 22, 239.5), ( 'ppfcz1', 30, 23, 246.5), ( 'ppfcz1', 30, 24, 254.5),
|
||||||
|
( 'ppfcz1', 30, 25, 261.5), ( 'ppfcz1', 30, 26, 269.5), ( 'ppfcz1', 30, 27, 276.5),
|
||||||
|
( 'ppfcz1', 30, 28, 284.5), ( 'ppfcz1', 30, 29, 291.5), ( 'ppfcz1', 30, 30, 299.5),
|
||||||
|
( 'ppfcz2', 30, 0.5, 61.5), ( 'ppfcz2', 30, 1, 65.5), ( 'ppfcz2', 30, 1.5, 75.5),
|
||||||
|
( 'ppfcz2', 30, 2, 80.5), ( 'ppfcz2', 30, 2.5, 86.5), ( 'ppfcz2', 30, 3, 99.5),
|
||||||
|
( 'ppfcz2', 30, 3.5, 109.5), ( 'ppfcz2', 30, 4, 113.5), ( 'ppfcz2', 30, 4.5, 121.5),
|
||||||
|
( 'ppfcz2', 30, 5, 129.5), ( 'ppfcz2', 30, 6, 139.5), ( 'ppfcz2', 30, 7, 149.5),
|
||||||
|
( 'ppfcz2', 30, 8, 159.5), ( 'ppfcz2', 30, 9, 169.5), ( 'ppfcz2', 30, 10, 180.5),
|
||||||
|
( 'ppfcz2', 30, 11, 189.5), ( 'ppfcz2', 30, 12, 199.5), ( 'ppfcz2', 30, 13, 210.5),
|
||||||
|
( 'ppfcz2', 30, 14, 219.5), ( 'ppfcz2', 30, 15, 229.5), ( 'ppfcz2', 30, 16, 240.5),
|
||||||
|
( 'ppfcz2', 30, 17, 249.5), ( 'ppfcz2', 30, 18, 259.5), ( 'ppfcz2', 30, 19, 270.5),
|
||||||
|
( 'ppfcz2', 30, 20, 280.5), ( 'ppfcz2', 30, 21, 289.5), ( 'ppfcz2', 30, 22, 300.5),
|
||||||
|
( 'ppfcz2', 30, 23, 310.5), ( 'ppfcz2', 30, 24, 320.5), ( 'ppfcz2', 30, 25, 330.5),
|
||||||
|
( 'ppfcz2', 30, 26, 340.5), ( 'ppfcz2', 30, 27, 350.5), ( 'ppfcz2', 30, 28, 360.5),
|
||||||
|
( 'ppfcz2', 30, 29, 370.5), ( 'ppfcz2', 30, 30, 381.5), ( 'ppfcz3', 30, 0.5, 74.5),
|
||||||
|
( 'ppfcz3', 30, 1, 83.5), ( 'ppfcz3', 30, 1.5, 90.5), ( 'ppfcz3', 30, 2, 99.5),
|
||||||
|
( 'ppfcz3', 30, 2.5, 107.5), ( 'ppfcz3', 30, 3, 114.5), ( 'ppfcz3', 30, 3.5, 122.5),
|
||||||
|
( 'ppfcz3', 30, 4, 130.5), ( 'ppfcz3', 30, 4.5, 140.5), ( 'ppfcz3', 30, 5, 147.5),
|
||||||
|
( 'ppfcz3', 30, 6, 162.5), ( 'ppfcz3', 30, 7, 174.5), ( 'ppfcz3', 30, 8, 188.5),
|
||||||
|
( 'ppfcz3', 30, 9, 201.5), ( 'ppfcz3', 30, 10, 213.5), ( 'ppfcz3', 30, 11, 227.5),
|
||||||
|
( 'ppfcz3', 30, 12, 240.5), ( 'ppfcz3', 30, 13, 252.5), ( 'ppfcz3', 30, 14, 266.5),
|
||||||
|
( 'ppfcz3', 30, 15, 278.5), ( 'ppfcz3', 30, 16, 290.5), ( 'ppfcz3', 30, 17, 304.5),
|
||||||
|
( 'ppfcz3', 30, 18, 317.5), ( 'ppfcz3', 30, 19, 330.5), ( 'ppfcz3', 30, 20, 343.5),
|
||||||
|
( 'ppfcz3', 30, 21, 354.5), ( 'ppfcz3', 30, 22, 363.5), ( 'ppfcz3', 30, 23, 375.5),
|
||||||
|
( 'ppfcz3', 30, 24, 385.5), ( 'ppfcz3', 30, 25, 396.5), ( 'ppfcz3', 30, 26, 405.5),
|
||||||
|
( 'ppfcz3', 30, 27, 417.5), ( 'ppfcz3', 30, 28, 428.5), ( 'ppfcz3', 30, 29, 438.5),
|
||||||
|
( 'ppfcz3', 30, 30, 448.5), ( 'ppfcz4', 30, 0.5, 90.5), ( 'ppfcz4', 30, 1, 104.5),
|
||||||
|
( 'ppfcz4', 30, 1.5, 118.5), ( 'ppfcz4', 30, 2, 134.5), ( 'ppfcz4', 30, 2.5, 146.5),
|
||||||
|
( 'ppfcz4', 30, 3, 163.5), ( 'ppfcz4', 30, 3.5, 179.5), ( 'ppfcz4', 30, 4, 195.5),
|
||||||
|
( 'ppfcz4', 30, 4.5, 211.5), ( 'ppfcz4', 30, 5, 232.5), ( 'ppfcz4', 30, 6, 257.5),
|
||||||
|
( 'ppfcz4', 30, 7, 278.5), ( 'ppfcz4', 30, 8, 300.5), ( 'ppfcz4', 30, 9, 321.5),
|
||||||
|
( 'ppfcz4', 30, 10, 343.5), ( 'ppfcz4', 30, 11, 364.5), ( 'ppfcz4', 30, 12, 386.5),
|
||||||
|
( 'ppfcz4', 30, 13, 407.5), ( 'ppfcz4', 30, 14, 429.5), ( 'ppfcz4', 30, 15, 450.5),
|
||||||
|
( 'ppfcz4', 30, 16, 472.5), ( 'ppfcz4', 30, 17, 493.5), ( 'ppfcz4', 30, 18, 515.5),
|
||||||
|
( 'ppfcz4', 30, 19, 536.5), ( 'ppfcz4', 30, 20, 558.5), ( 'ppfcz4', 30, 21, 579.5),
|
||||||
|
( 'ppfcz4', 30, 22, 601.5), ( 'ppfcz4', 30, 23, 622.5), ( 'ppfcz4', 30, 24, 644.5),
|
||||||
|
( 'ppfcz4', 30, 25, 665.5), ( 'ppfcz4', 30, 26, 687.5), ( 'ppfcz4', 30, 27, 708.5),
|
||||||
|
( 'ppfcz4', 30, 28, 730.5), ( 'ppfcz4', 30, 29, 751.5), ( 'ppfcz4', 30, 30, 773.5),
|
||||||
|
( 'ppfcz5', 30, 0.5, 97.5), ( 'ppfcz5', 30, 1, 114.5), ( 'ppfcz5', 30, 1.5, 131.5),
|
||||||
|
( 'ppfcz5', 30, 2, 148.5), ( 'ppfcz5', 30, 2.5, 165.5), ( 'ppfcz5', 30, 3, 183.5),
|
||||||
|
( 'ppfcz5', 30, 3.5, 200.5), ( 'ppfcz5', 30, 4, 221.5), ( 'ppfcz5', 30, 4.5, 243.5),
|
||||||
|
( 'ppfcz5', 30, 5, 264.5), ( 'ppfcz5', 30, 6, 289.5), ( 'ppfcz5', 30, 7, 313.5),
|
||||||
|
( 'ppfcz5', 30, 8, 336.5), ( 'ppfcz5', 30, 9, 360.5), ( 'ppfcz5', 30, 10, 384.5),
|
||||||
|
( 'ppfcz5', 30, 11, 407.5), ( 'ppfcz5', 30, 12, 431.5), ( 'ppfcz5', 30, 13, 455.5),
|
||||||
|
( 'ppfcz5', 30, 14, 478.5), ( 'ppfcz5', 30, 15, 502.5), ( 'ppfcz5', 30, 16, 526.5),
|
||||||
|
( 'ppfcz5', 30, 17, 549.5), ( 'ppfcz5', 30, 18, 573.5), ( 'ppfcz5', 30, 19, 597.5),
|
||||||
|
( 'ppfcz5', 30, 20, 620.5), ( 'ppfcz5', 30, 21, 644.5), ( 'ppfcz5', 30, 22, 668.5),
|
||||||
|
( 'ppfcz5', 30, 23, 691.5), ( 'ppfcz5', 30, 24, 715.5), ( 'ppfcz5', 30, 25, 738.5),
|
||||||
|
( 'ppfcz5', 30, 26, 762.5), ( 'ppfcz5', 30, 27, 786.5), ( 'ppfcz5', 30, 28, 809.5),
|
||||||
|
( 'ppfcz5', 30, 29, 833.5), ( 'ppfcz5', 30, 30, 857.5), ( 'foreign', 13, 30, 0),
|
||||||
|
( 'all', 32, 10000, 23.2342007434944);
|
||||||
|
|
||||||
|
--enable_query_log
|
||||||
|
|
||||||
|
INSERT INTO t3 SELECT * FROM t1;
|
||||||
|
|
||||||
|
EXPLAIN
|
||||||
|
SELECT d FROM t1, t2
|
||||||
|
WHERE t2.b=14 AND t2.a=t1.a AND 5.1<t2.c AND t1.b='DE'
|
||||||
|
ORDER BY t2.c LIMIT 1;
|
||||||
|
SELECT d FROM t1, t2
|
||||||
|
WHERE t2.b=14 AND t2.a=t1.a AND 5.1<t2.c AND t1.b='DE'
|
||||||
|
ORDER BY t2.c LIMIT 1;
|
||||||
|
|
||||||
|
EXPLAIN
|
||||||
|
SELECT d FROM t3 AS t1, t2 AS t2
|
||||||
|
WHERE t2.b=14 AND t2.a=t1.a AND 5.1<t2.c AND t1.b='DE'
|
||||||
|
ORDER BY t2.c LIMIT 1;
|
||||||
|
SELECT d FROM t3 AS t1, t2 AS t2
|
||||||
|
WHERE t2.b=14 AND t2.a=t1.a AND 5.1<t2.c AND t1.b='DE'
|
||||||
|
ORDER BY t2.c LIMIT 1;
|
||||||
|
|
||||||
|
DROP TABLE t1,t2,t3;
|
||||||
|
@ -972,6 +972,52 @@ EXPLAIN SELECT a FROM t1 WHERE a='b' OR a='B';
|
|||||||
|
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #34731: highest possible value for INT erroneously filtered by WHERE
|
||||||
|
#
|
||||||
|
|
||||||
|
# test UNSIGNED. only occurs when indexed.
|
||||||
|
CREATE TABLE t1 (f1 TINYINT(11) UNSIGNED NOT NULL, PRIMARY KEY (f1));
|
||||||
|
|
||||||
|
INSERT INTO t1 VALUES (127),(254),(0),(1),(255);
|
||||||
|
|
||||||
|
# test upper bound
|
||||||
|
# count 5
|
||||||
|
SELECT SQL_NO_CACHE COUNT(*) FROM t1 WHERE f1 < 256;
|
||||||
|
SELECT SQL_NO_CACHE COUNT(*) FROM t1 WHERE f1 < 256.0;
|
||||||
|
# count 4
|
||||||
|
SELECT SQL_NO_CACHE COUNT(*) FROM t1 WHERE f1 < 255;
|
||||||
|
|
||||||
|
# show we don't fiddle with lower bound on UNSIGNED
|
||||||
|
# count 0
|
||||||
|
SELECT SQL_NO_CACHE COUNT(*) FROM t1 WHERE f1 < -1;
|
||||||
|
# count 5
|
||||||
|
SELECT SQL_NO_CACHE COUNT(*) FROM t1 WHERE f1 > -1;
|
||||||
|
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
|
||||||
|
# test signed. only occurs when index.
|
||||||
|
CREATE TABLE t1 ( f1 TINYINT(11) NOT NULL, PRIMARY KEY (f1));
|
||||||
|
|
||||||
|
INSERT INTO t1 VALUES (127),(126),(0),(-128),(-127);
|
||||||
|
|
||||||
|
# test upper bound
|
||||||
|
# count 5
|
||||||
|
SELECT SQL_NO_CACHE COUNT(*) FROM t1 WHERE f1 < 128;
|
||||||
|
SELECT SQL_NO_CACHE COUNT(*) FROM t1 WHERE f1 < 128.0;
|
||||||
|
# count 4
|
||||||
|
SELECT SQL_NO_CACHE COUNT(*) FROM t1 WHERE f1 < 127;
|
||||||
|
|
||||||
|
# test lower bound
|
||||||
|
# count 5
|
||||||
|
SELECT SQL_NO_CACHE COUNT(*) FROM t1 WHERE f1 > -129;
|
||||||
|
SELECT SQL_NO_CACHE COUNT(*) FROM t1 WHERE f1 > -129.0;
|
||||||
|
# count 4
|
||||||
|
SELECT SQL_NO_CACHE COUNT(*) FROM t1 WHERE f1 > -128;
|
||||||
|
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
# End of 5.0 tests
|
# End of 5.0 tests
|
||||||
|
|
||||||
# BUG#22393 fix: Adjust 'ref' estimate if we have 'range' estimate for
|
# BUG#22393 fix: Adjust 'ref' estimate if we have 'range' estimate for
|
||||||
|
@ -102,6 +102,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "mysys_priv.h"
|
#include "mysys_priv.h"
|
||||||
|
#include "mysys_err.h"
|
||||||
#include <keycache.h>
|
#include <keycache.h>
|
||||||
#include "my_static.h"
|
#include "my_static.h"
|
||||||
#include <m_string.h>
|
#include <m_string.h>
|
||||||
@ -430,7 +431,7 @@ int init_key_cache(KEY_CACHE *keycache, uint key_cache_block_size,
|
|||||||
/* Allocate memory for cache page buffers */
|
/* Allocate memory for cache page buffers */
|
||||||
if ((keycache->block_mem=
|
if ((keycache->block_mem=
|
||||||
my_large_malloc((size_t) blocks * keycache->key_cache_block_size,
|
my_large_malloc((size_t) blocks * keycache->key_cache_block_size,
|
||||||
MYF(MY_WME))))
|
MYF(0))))
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
Allocate memory for blocks, hash_links and hash entries;
|
Allocate memory for blocks, hash_links and hash entries;
|
||||||
@ -445,6 +446,7 @@ int init_key_cache(KEY_CACHE *keycache, uint key_cache_block_size,
|
|||||||
if (blocks < 8)
|
if (blocks < 8)
|
||||||
{
|
{
|
||||||
my_errno= ENOMEM;
|
my_errno= ENOMEM;
|
||||||
|
my_error(EE_OUTOFMEMORY, MYF(0), blocks * keycache->key_cache_block_size);
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
blocks= blocks / 4*3;
|
blocks= blocks / 4*3;
|
||||||
|
@ -5726,52 +5726,70 @@ get_mm_leaf(RANGE_OPT_PARAM *param, COND *conf_func, Field *field,
|
|||||||
field->type() == MYSQL_TYPE_DATETIME))
|
field->type() == MYSQL_TYPE_DATETIME))
|
||||||
field->table->in_use->variables.sql_mode|= MODE_INVALID_DATES;
|
field->table->in_use->variables.sql_mode|= MODE_INVALID_DATES;
|
||||||
err= value->save_in_field_no_warnings(field, 1);
|
err= value->save_in_field_no_warnings(field, 1);
|
||||||
if (err > 0 && field->cmp_type() != value->result_type())
|
if (err > 0)
|
||||||
{
|
{
|
||||||
if ((type == Item_func::EQ_FUNC || type == Item_func::EQUAL_FUNC) &&
|
if (field->cmp_type() != value->result_type())
|
||||||
value->result_type() == item_cmp_type(field->result_type(),
|
|
||||||
value->result_type()))
|
|
||||||
|
|
||||||
{
|
{
|
||||||
tree= new (alloc) SEL_ARG(field, 0, 0);
|
if ((type == Item_func::EQ_FUNC || type == Item_func::EQUAL_FUNC) &&
|
||||||
tree->type= SEL_ARG::IMPOSSIBLE;
|
value->result_type() == item_cmp_type(field->result_type(),
|
||||||
goto end;
|
value->result_type()))
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
TODO: We should return trees of the type SEL_ARG::IMPOSSIBLE
|
|
||||||
for the cases like int_field > 999999999999999999999999 as well.
|
|
||||||
*/
|
|
||||||
tree= 0;
|
|
||||||
if (err == 3 && field->type() == FIELD_TYPE_DATE &&
|
|
||||||
(type == Item_func::GT_FUNC || type == Item_func::GE_FUNC ||
|
|
||||||
type == Item_func::LT_FUNC || type == Item_func::LE_FUNC) )
|
|
||||||
{
|
{
|
||||||
/*
|
tree= new (alloc) SEL_ARG(field, 0, 0);
|
||||||
We were saving DATETIME into a DATE column, the conversion went ok
|
tree->type= SEL_ARG::IMPOSSIBLE;
|
||||||
but a non-zero time part was cut off.
|
goto end;
|
||||||
|
|
||||||
In MySQL's SQL dialect, DATE and DATETIME are compared as datetime
|
|
||||||
values. Index over a DATE column uses DATE comparison. Changing
|
|
||||||
from one comparison to the other is possible:
|
|
||||||
|
|
||||||
datetime(date_col)< '2007-12-10 12:34:55' -> date_col<='2007-12-10'
|
|
||||||
datetime(date_col)<='2007-12-10 12:34:55' -> date_col<='2007-12-10'
|
|
||||||
|
|
||||||
datetime(date_col)> '2007-12-10 12:34:55' -> date_col>='2007-12-10'
|
|
||||||
datetime(date_col)>='2007-12-10 12:34:55' -> date_col>='2007-12-10'
|
|
||||||
|
|
||||||
but we'll need to convert '>' to '>=' and '<' to '<='. This will
|
|
||||||
be done together with other types at the end of this function
|
|
||||||
(grep for field_is_equal_to_item)
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
goto end;
|
{
|
||||||
|
/*
|
||||||
|
TODO: We should return trees of the type SEL_ARG::IMPOSSIBLE
|
||||||
|
for the cases like int_field > 999999999999999999999999 as well.
|
||||||
|
*/
|
||||||
|
tree= 0;
|
||||||
|
if (err == 3 && field->type() == FIELD_TYPE_DATE &&
|
||||||
|
(type == Item_func::GT_FUNC || type == Item_func::GE_FUNC ||
|
||||||
|
type == Item_func::LT_FUNC || type == Item_func::LE_FUNC) )
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
We were saving DATETIME into a DATE column, the conversion went ok
|
||||||
|
but a non-zero time part was cut off.
|
||||||
|
|
||||||
|
In MySQL's SQL dialect, DATE and DATETIME are compared as datetime
|
||||||
|
values. Index over a DATE column uses DATE comparison. Changing
|
||||||
|
from one comparison to the other is possible:
|
||||||
|
|
||||||
|
datetime(date_col)< '2007-12-10 12:34:55' -> date_col<='2007-12-10'
|
||||||
|
datetime(date_col)<='2007-12-10 12:34:55' -> date_col<='2007-12-10'
|
||||||
|
|
||||||
|
datetime(date_col)> '2007-12-10 12:34:55' -> date_col>='2007-12-10'
|
||||||
|
datetime(date_col)>='2007-12-10 12:34:55' -> date_col>='2007-12-10'
|
||||||
|
|
||||||
|
but we'll need to convert '>' to '>=' and '<' to '<='. This will
|
||||||
|
be done together with other types at the end of this function
|
||||||
|
(grep for field_is_equal_to_item)
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
else
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (err < 0)
|
/*
|
||||||
|
guaranteed at this point: err > 0; field and const of same type
|
||||||
|
If an integer got bounded (e.g. to within 0..255 / -128..127)
|
||||||
|
for < or >, set flags as for <= or >= (no NEAR_MAX / NEAR_MIN)
|
||||||
|
*/
|
||||||
|
else if (err == 1 && field->result_type() == INT_RESULT)
|
||||||
|
{
|
||||||
|
if (type == Item_func::LT_FUNC && (value->val_int() > 0))
|
||||||
|
type = Item_func::LE_FUNC;
|
||||||
|
else if (type == Item_func::GT_FUNC &&
|
||||||
|
!((Field_num*)field)->unsigned_flag &&
|
||||||
|
!((Item_int*)value)->unsigned_flag &&
|
||||||
|
(value->val_int() < 0))
|
||||||
|
type = Item_func::GE_FUNC;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (err < 0)
|
||||||
{
|
{
|
||||||
field->table->in_use->variables.sql_mode= orig_sql_mode;
|
field->table->in_use->variables.sql_mode= orig_sql_mode;
|
||||||
/* This happens when we try to insert a NULL field in a not null column */
|
/* This happens when we try to insert a NULL field in a not null column */
|
||||||
|
@ -701,20 +701,24 @@ static int check_connection(THD *thd)
|
|||||||
bzero((char*) &thd->remote, sizeof(thd->remote));
|
bzero((char*) &thd->remote, sizeof(thd->remote));
|
||||||
}
|
}
|
||||||
vio_keepalive(net->vio, TRUE);
|
vio_keepalive(net->vio, TRUE);
|
||||||
|
|
||||||
|
ulong server_capabilites;
|
||||||
{
|
{
|
||||||
/* buff[] needs to big enough to hold the server_version variable */
|
/* buff[] needs to big enough to hold the server_version variable */
|
||||||
char buff[SERVER_VERSION_LENGTH + SCRAMBLE_LENGTH + 64];
|
char buff[SERVER_VERSION_LENGTH + SCRAMBLE_LENGTH + 64];
|
||||||
ulong client_flags = (CLIENT_LONG_FLAG | CLIENT_CONNECT_WITH_DB |
|
server_capabilites= CLIENT_BASIC_FLAGS;
|
||||||
CLIENT_PROTOCOL_41 | CLIENT_SECURE_CONNECTION);
|
|
||||||
|
|
||||||
if (opt_using_transactions)
|
if (opt_using_transactions)
|
||||||
client_flags|=CLIENT_TRANSACTIONS;
|
server_capabilites|= CLIENT_TRANSACTIONS;
|
||||||
#ifdef HAVE_COMPRESS
|
#ifdef HAVE_COMPRESS
|
||||||
client_flags |= CLIENT_COMPRESS;
|
server_capabilites|= CLIENT_COMPRESS;
|
||||||
#endif /* HAVE_COMPRESS */
|
#endif /* HAVE_COMPRESS */
|
||||||
#ifdef HAVE_OPENSSL
|
#ifdef HAVE_OPENSSL
|
||||||
if (ssl_acceptor_fd)
|
if (ssl_acceptor_fd)
|
||||||
client_flags |= CLIENT_SSL; /* Wow, SSL is available! */
|
{
|
||||||
|
server_capabilites |= CLIENT_SSL; /* Wow, SSL is available! */
|
||||||
|
server_capabilites |= CLIENT_SSL_VERIFY_SERVER_CERT;
|
||||||
|
}
|
||||||
#endif /* HAVE_OPENSSL */
|
#endif /* HAVE_OPENSSL */
|
||||||
|
|
||||||
end= strnmov(buff, server_version, SERVER_VERSION_LENGTH) + 1;
|
end= strnmov(buff, server_version, SERVER_VERSION_LENGTH) + 1;
|
||||||
@ -733,7 +737,7 @@ static int check_connection(THD *thd)
|
|||||||
*/
|
*/
|
||||||
end= strmake(end, thd->scramble, SCRAMBLE_LENGTH_323) + 1;
|
end= strmake(end, thd->scramble, SCRAMBLE_LENGTH_323) + 1;
|
||||||
|
|
||||||
int2store(end, client_flags);
|
int2store(end, server_capabilites);
|
||||||
/* write server characteristics: up to 16 bytes allowed */
|
/* write server characteristics: up to 16 bytes allowed */
|
||||||
end[2]=(char) default_charset_info->number;
|
end[2]=(char) default_charset_info->number;
|
||||||
int2store(end+3, thd->server_status);
|
int2store(end+3, thd->server_status);
|
||||||
@ -763,7 +767,7 @@ static int check_connection(THD *thd)
|
|||||||
if (thd->packet.alloc(thd->variables.net_buffer_length))
|
if (thd->packet.alloc(thd->variables.net_buffer_length))
|
||||||
return 1; /* The error is set by alloc(). */
|
return 1; /* The error is set by alloc(). */
|
||||||
|
|
||||||
thd->client_capabilities=uint2korr(net->read_pos);
|
thd->client_capabilities= uint2korr(net->read_pos);
|
||||||
if (thd->client_capabilities & CLIENT_PROTOCOL_41)
|
if (thd->client_capabilities & CLIENT_PROTOCOL_41)
|
||||||
{
|
{
|
||||||
thd->client_capabilities|= ((ulong) uint2korr(net->read_pos+2)) << 16;
|
thd->client_capabilities|= ((ulong) uint2korr(net->read_pos+2)) << 16;
|
||||||
@ -778,6 +782,11 @@ static int check_connection(THD *thd)
|
|||||||
thd->max_client_packet_length= uint3korr(net->read_pos+2);
|
thd->max_client_packet_length= uint3korr(net->read_pos+2);
|
||||||
end= (char*) net->read_pos+5;
|
end= (char*) net->read_pos+5;
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
Disable those bits which are not supported by the server.
|
||||||
|
This is a precautionary measure, if the client lies. See Bug#27944.
|
||||||
|
*/
|
||||||
|
thd->client_capabilities&= server_capabilites;
|
||||||
|
|
||||||
if (thd->client_capabilities & CLIENT_IGNORE_SPACE)
|
if (thd->client_capabilities & CLIENT_IGNORE_SPACE)
|
||||||
thd->variables.sql_mode|= MODE_IGNORE_SPACE;
|
thd->variables.sql_mode|= MODE_IGNORE_SPACE;
|
||||||
|
@ -13158,6 +13158,11 @@ test_if_skip_sort_order(JOIN_TAB *tab,ORDER *order,ha_rows select_limit,
|
|||||||
tab->read_first_record= best_key_direction > 0 ?
|
tab->read_first_record= best_key_direction > 0 ?
|
||||||
join_read_first:join_read_last;
|
join_read_first:join_read_last;
|
||||||
tab->type=JT_NEXT; // Read with index_first(), index_next()
|
tab->type=JT_NEXT; // Read with index_first(), index_next()
|
||||||
|
if (select && select->quick)
|
||||||
|
{
|
||||||
|
delete select->quick;
|
||||||
|
select->quick= 0;
|
||||||
|
}
|
||||||
if (table->covering_keys.is_set(best_key))
|
if (table->covering_keys.is_set(best_key))
|
||||||
{
|
{
|
||||||
table->key_read=1;
|
table->key_read=1;
|
||||||
@ -13168,15 +13173,27 @@ test_if_skip_sort_order(JOIN_TAB *tab,ORDER *order,ha_rows select_limit,
|
|||||||
{
|
{
|
||||||
tab->ref.key= -1;
|
tab->ref.key= -1;
|
||||||
tab->ref.key_parts= 0;
|
tab->ref.key_parts= 0;
|
||||||
if (select && select->quick)
|
|
||||||
{
|
|
||||||
delete select->quick;
|
|
||||||
select->quick= 0;
|
|
||||||
}
|
|
||||||
if (select_limit < table_records)
|
if (select_limit < table_records)
|
||||||
tab->limit= select_limit;
|
tab->limit= select_limit;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (tab->type != JT_ALL)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
We're about to use a quick access to the table.
|
||||||
|
We need to change the access method so as the quick access
|
||||||
|
method is actually used.
|
||||||
|
*/
|
||||||
|
DBUG_ASSERT(tab->select->quick);
|
||||||
|
tab->type=JT_ALL;
|
||||||
|
tab->use_quick=1;
|
||||||
|
tab->ref.key= -1;
|
||||||
|
tab->ref.key_parts=0; // Don't use ref key.
|
||||||
|
tab->read_first_record= join_init_read_record;
|
||||||
|
/*
|
||||||
|
TODO: update the number of records in join->best_positions[tablenr]
|
||||||
|
*/
|
||||||
|
}
|
||||||
}
|
}
|
||||||
used_key_parts= best_key_parts;
|
used_key_parts= best_key_parts;
|
||||||
order_direction= best_key_direction;
|
order_direction= best_key_direction;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user