List:Commits« Previous MessageNext Message »
From:kgeorge Date:January 24 2007 2:55pm
Subject:bk commit into 5.1 tree (gkodinov:1.2394)
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of kgeorge. When kgeorge does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2007-01-24 15:55:16+02:00, gkodinov@stripped +7 -0
  merge of 5.0-opt -> 5.1-opt

  mysql-test/r/func_in.result@stripped, 2007-01-24 15:54:58+02:00, gkodinov@stripped +3 -46
    merge of 5.0-opt -> 5.1-opt

  mysql-test/r/func_str.result@stripped, 2007-01-24 15:54:59+02:00, gkodinov@stripped +6
-6
    merge of 5.0-opt -> 5.1-opt

  mysql-test/r/range.result@stripped, 2007-01-24 15:55:00+02:00, gkodinov@stripped +1 -1
    merge of 5.0-opt -> 5.1-opt

  mysql-test/r/view.result@stripped, 2007-01-24 15:55:01+02:00, gkodinov@stripped +44 -10
    merge of 5.0-opt -> 5.1-opt

  mysql-test/t/func_in.test@stripped, 2007-01-24 15:55:01+02:00, gkodinov@stripped +36 -34
    merge of 5.0-opt -> 5.1-opt

  sql/item_strfunc.cc@stripped, 2007-01-24 15:55:02+02:00, gkodinov@stripped +0 -13
    merge of 5.0-opt -> 5.1-opt

  sql/item_strfunc.h@stripped, 2007-01-24 15:55:03+02:00, gkodinov@stripped +0 -4
    merge of 5.0-opt -> 5.1-opt

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	gkodinov
# Host:	macbook.gmz
# Root:	/Users/kgeorge/mysql/work/merge-5.1-opt

--- 1.307/sql/item_strfunc.cc	2007-01-23 11:56:51 +02:00
+++ 1.308/sql/item_strfunc.cc	2007-01-24 15:55:02 +02:00
@@ -1706,19 +1706,6 @@ String *Item_func_encode::val_str(String
   return res;
 }
 
-void Item_func_encode::print(String *str)
-{
-  str->append(func_name());
-  str->append('(');
-  args[0]->print(str);
-  str->append(',');
-  str->append('\'');
-  str->append(seed);
-  str->append('\'');
-  str->append(')');
-}
-
-
 String *Item_func_decode::val_str(String *str)
 {
   String *res;

--- 1.124/sql/item_strfunc.h	2007-01-23 12:34:35 +02:00
+++ 1.125/sql/item_strfunc.h	2007-01-24 15:55:03 +02:00
@@ -360,16 +360,12 @@ public:
 
 class Item_func_encode :public Item_str_func
 {
- protected:
-  SQL_CRYPT sql_crypt;
-  String seed;
 public:
   Item_func_encode(Item *a, Item *seed):
     Item_str_func(a, seed) {}
   String *val_str(String *);
   void fix_length_and_dec();
   const char *func_name() const { return "encode"; }
-  void print(String *str);
 };
 
 

--- 1.195/mysql-test/r/view.result	2007-01-23 11:56:45 +02:00
+++ 1.196/mysql-test/r/view.result	2007-01-24 15:55:01 +02:00
@@ -2970,16 +2970,6 @@ UPDATE t1 SET i= f1();
 DROP FUNCTION f1;
 DROP VIEW v1;
 DROP TABLE t1;
-CREATE TABLE t1(id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, val INT UNSIGNED NOT
NULL);
-CREATE VIEW v1 AS SELECT id, val FROM t1 WHERE val >= 1 AND val <= 5 WITH CHECK
OPTION;
-INSERT INTO v1 (val) VALUES (2);
-INSERT INTO v1 (val) VALUES (4);
-INSERT INTO v1 (val) VALUES (6);
-ERROR HY000: CHECK OPTION failed 'test.v1'
-UPDATE v1 SET val=6 WHERE id=2;
-ERROR HY000: CHECK OPTION failed 'test.v1'
-DROP VIEW v1;
-DROP TABLE t1;
 DROP VIEW IF EXISTS v1, v2;
 DROP TABLE IF EXISTS t1;
 CREATE TABLE t1 (i INT AUTO_INCREMENT PRIMARY KEY, j INT);
@@ -3026,6 +3016,50 @@ x
 5
 DROP VIEW v;
 End of 5.0 tests.
+CREATE TABLE t1(id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, val INT UNSIGNED NOT
NULL);
+CREATE VIEW v1 AS SELECT id, val FROM t1 WHERE val >= 1 AND val <= 5 WITH CHECK
OPTION;
+INSERT INTO v1 (val) VALUES (2);
+INSERT INTO v1 (val) VALUES (4);
+INSERT INTO v1 (val) VALUES (6);
+ERROR HY000: CHECK OPTION failed 'test.v1'
+UPDATE v1 SET val=6 WHERE id=2;
+ERROR HY000: CHECK OPTION failed 'test.v1'
+DROP VIEW v1;
+DROP TABLE t1;
+DROP VIEW IF EXISTS v1, v2;
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 (i INT AUTO_INCREMENT PRIMARY KEY, j INT);
+CREATE VIEW v1 AS SELECT j FROM t1;
+CREATE VIEW v2 AS SELECT * FROM t1;
+INSERT INTO t1 (j) VALUES (1);
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+1
+INSERT INTO v1 (j) VALUES (2);
+# LAST_INSERT_ID() should not change.
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+1
+INSERT INTO v2 (j) VALUES (3);
+# LAST_INSERT_ID() should be updated.
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+3
+INSERT INTO v1 (j) SELECT j FROM t1;
+# LAST_INSERT_ID() should not change.
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+3
+SELECT * FROM t1;
+i	j
+1	1
+2	2
+3	3
+4	1
+5	2
+6	3
+DROP VIEW v1, v2;
+DROP TABLE t1;
 DROP DATABASE IF EXISTS `d-1`;
 CREATE DATABASE `d-1`;
 USE `d-1`;

--- 1.33/mysql-test/r/func_in.result	2007-01-23 11:56:42 +02:00
+++ 1.34/mysql-test/r/func_in.result	2007-01-24 15:54:58 +02:00
@@ -351,49 +351,6 @@ some_id
 1
 2
 drop table t1;
-CREATE TABLE t1 (a int, b int, PRIMARY KEY (a));
-INSERT INTO t1 VALUES (1,1),(2,1),(3,1),(4,1),(5,1),(6,1);
-CREATE TABLE t2 (a int, b int, PRIMARY KEY (a));
-INSERT INTO t2 VALUES (3,2),(4,2);
-CREATE TABLE t3 (a int PRIMARY KEY);
-INSERT INTO t3 VALUES (1),(2),(3),(4);
-CREATE TABLE t4 (a int PRIMARY KEY);
-INSERT INTO t4 VALUES (1),(2);
-EXPLAIN SELECT STRAIGHT_JOIN * FROM t3 
-JOIN t1 ON t3.a=t1.a 
-JOIN t2 ON t3.a=t2.a
-JOIN t4 WHERE t4.a IN (t1.b, t2.b);
-id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	t3	index	PRIMARY	PRIMARY	4	NULL	4	Using index
-1	SIMPLE	t1	eq_ref	PRIMARY	PRIMARY	4	test.t3.a	1	
-1	SIMPLE	t2	eq_ref	PRIMARY	PRIMARY	4	test.t3.a	1	
-1	SIMPLE	t4	ALL	PRIMARY	NULL	NULL	NULL	2	Range checked for each record (index map: 0x1)
-SELECT STRAIGHT_JOIN * FROM t3 
-JOIN t1 ON t3.a=t1.a 
-JOIN t2 ON t3.a=t2.a
-JOIN t4 WHERE t4.a IN (t1.b, t2.b);
-a	a	b	a	b	a
-3	3	1	3	2	1
-3	3	1	3	2	2
-4	4	1	4	2	1
-4	4	1	4	2	2
-EXPLAIN SELECT STRAIGHT_JOIN 
-(SELECT SUM(t4.a) FROM t4 WHERE t4.a IN (t1.b, t2.b)) 
-FROM t3, t1, t2
-WHERE t3.a=t1.a AND t3.a=t2.a;
-id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	PRIMARY	t3	index	PRIMARY	PRIMARY	4	NULL	4	Using index
-1	PRIMARY	t1	eq_ref	PRIMARY	PRIMARY	4	test.t3.a	1	
-1	PRIMARY	t2	eq_ref	PRIMARY	PRIMARY	4	test.t3.a	1	
-2	DEPENDENT SUBQUERY	t4	index	NULL	PRIMARY	4	NULL	2	Using where; Using index
-SELECT STRAIGHT_JOIN 
-(SELECT SUM(t4.a) FROM t4 WHERE t4.a IN (t1.b, t2.b)) 
-FROM t3, t1, t2
-WHERE t3.a=t1.a AND t3.a=t2.a;
-(SELECT SUM(t4.a) FROM t4 WHERE t4.a IN (t1.b, t2.b))
-3
-3
-DROP TABLE t1,t2,t3,t4;
 End of 5.0 tests
 create table t1(f1 char(1));
 insert into t1 values ('a'),('b'),('1');
@@ -419,7 +376,7 @@ Warnings:
 Warning	1292	Truncated incorrect DOUBLE value: 'b'
 explain select f1 from t1 where f1 in ('a',1);
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	t1	index	NULL	t1f1_idx	2	NULL	3	Using where; Using index
+1	SIMPLE	t1	index	t1f1_idx	t1f1_idx	2	NULL	3	Using where; Using index
 select f1 from t1 where f1 in ('a','b');
 f1
 a
@@ -448,7 +405,7 @@ Warning	1292	Truncated incorrect DOUBLE 
 Warning	1292	Truncated incorrect DOUBLE value: 'a'
 explain select f2 from t2 where f2 in ('a',2);
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	t2	index	NULL	t2f2	5	NULL	3	Using where; Using index
+1	SIMPLE	t2	index	t2f2	t2f2	5	NULL	3	Using where; Using index
 select f2 from t2 where f2 in ('a','b');
 f2
 0
@@ -470,6 +427,6 @@ Warning	1292	Truncated incorrect DOUBLE 
 Warning	1292	Truncated incorrect DOUBLE value: 'b'
 explain select f2 from t2 where f2 in (1,'b');
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	t2	index	NULL	t2f2	5	NULL	3	Using where; Using index
+1	SIMPLE	t2	index	t2f2	t2f2	5	NULL	3	Using where; Using index
 drop table t1, t2;
 End of 5.1 tests

--- 1.52/mysql-test/r/range.result	2007-01-23 11:56:43 +02:00
+++ 1.53/mysql-test/r/range.result	2007-01-24 15:55:00 +02:00
@@ -705,7 +705,7 @@ v.oxrootid ='d8c4177d09f8b11f5.52725521'
 s.oxleft > v.oxleft AND s.oxleft < v.oxright;
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 1	SIMPLE	v	ref	OXLEFT,OXRIGHT,OXROOTID	OXROOTID	34	const	5	Using where
-1	SIMPLE	s	ALL	OXLEFT	NULL	NULL	NULL	5	Range checked for each record (index map: 0x4)
+1	SIMPLE	s	ALL	OXLEFT	NULL	NULL	NULL	6	Range checked for each record (index map: 0x4)
 SELECT s.oxid FROM t1 v, t1 s 
 WHERE s.oxrootid = 'd8c4177d09f8b11f5.52725521' AND
 v.oxrootid ='d8c4177d09f8b11f5.52725521' AND

--- 1.25/mysql-test/t/func_in.test	2007-01-23 11:56:45 +02:00
+++ 1.26/mysql-test/t/func_in.test	2007-01-24 15:55:01 +02:00
@@ -254,42 +254,44 @@ select some_id from t1 where some_id not
 select some_id from t1 where some_id not in(-4,-1,3423534,2342342);
 drop table t1;
 
+# TODO:Disabled until re-resolution of bug #20420 for 5.1.
+# Results must be the same as in 5.0
+##
+## BUG#20420: optimizer reports wrong keys on left join with IN
+##
+#CREATE TABLE t1 (a int, b int, PRIMARY KEY (a));
+#INSERT INTO t1 VALUES (1,1),(2,1),(3,1),(4,1),(5,1),(6,1);
 #
-# BUG#20420: optimizer reports wrong keys on left join with IN
+#CREATE TABLE t2 (a int, b int, PRIMARY KEY (a));
+#INSERT INTO t2 VALUES (3,2),(4,2),(100,100),(101,201),(102,102);
 #
-CREATE TABLE t1 (a int, b int, PRIMARY KEY (a));
-INSERT INTO t1 VALUES (1,1),(2,1),(3,1),(4,1),(5,1),(6,1);
-
-CREATE TABLE t2 (a int, b int, PRIMARY KEY (a));
-INSERT INTO t2 VALUES (3,2),(4,2);
-
-CREATE TABLE t3 (a int PRIMARY KEY);
-INSERT INTO t3 VALUES (1),(2),(3),(4);
-
-CREATE TABLE t4 (a int PRIMARY KEY);
-INSERT INTO t4 VALUES (1),(2);
-
-EXPLAIN SELECT STRAIGHT_JOIN * FROM t3 
-  JOIN t1 ON t3.a=t1.a 
-  JOIN t2 ON t3.a=t2.a
-  JOIN t4 WHERE t4.a IN (t1.b, t2.b);
-
-SELECT STRAIGHT_JOIN * FROM t3 
-  JOIN t1 ON t3.a=t1.a 
-  JOIN t2 ON t3.a=t2.a
-  JOIN t4 WHERE t4.a IN (t1.b, t2.b);
-
-EXPLAIN SELECT STRAIGHT_JOIN 
-   (SELECT SUM(t4.a) FROM t4 WHERE t4.a IN (t1.b, t2.b)) 
-  FROM t3, t1, t2
-  WHERE t3.a=t1.a AND t3.a=t2.a;
-
-SELECT STRAIGHT_JOIN 
-   (SELECT SUM(t4.a) FROM t4 WHERE t4.a IN (t1.b, t2.b)) 
-  FROM t3, t1, t2
-  WHERE t3.a=t1.a AND t3.a=t2.a;
-
-DROP TABLE t1,t2,t3,t4;  
+#CREATE TABLE t3 (a int PRIMARY KEY);
+#INSERT INTO t3 VALUES (1),(2),(3),(4);
+#
+#CREATE TABLE t4 (a int PRIMARY KEY,b int);
+#INSERT INTO t4 VALUES
(1,1),(2,2),(1000,1000),(1001,1001),(1002,1002),(1003,1003),(1004,1004);
+#
+#EXPLAIN SELECT STRAIGHT_JOIN * FROM t3 
+#  JOIN t1 ON t3.a=t1.a 
+#  JOIN t2 ON t3.a=t2.a
+#  JOIN t4 WHERE t4.a IN (t1.b, t2.b);
+#
+#SELECT STRAIGHT_JOIN * FROM t3 
+#  JOIN t1 ON t3.a=t1.a 
+#  JOIN t2 ON t3.a=t2.a
+#  JOIN t4 WHERE t4.a IN (t1.b, t2.b);
+#
+#EXPLAIN SELECT STRAIGHT_JOIN 
+#   (SELECT SUM(t4.a) FROM t4 WHERE t4.a IN (t1.b, t2.b)) 
+#  FROM t3, t1, t2
+#  WHERE t3.a=t1.a AND t3.a=t2.a;
+#
+#SELECT STRAIGHT_JOIN 
+#   (SELECT SUM(t4.a) FROM t4 WHERE t4.a IN (t1.b, t2.b)) 
+#  FROM t3, t1, t2
+#  WHERE t3.a=t1.a AND t3.a=t2.a;
+#
+#DROP TABLE t1,t2,t3,t4;  
 
 --echo End of 5.0 tests
 

--- 1.135/mysql-test/r/func_str.result	2007-01-23 12:34:31 +02:00
+++ 1.136/mysql-test/r/func_str.result	2007-01-24 15:54:59 +02:00
@@ -1306,15 +1306,15 @@ Note	1003	select `test`.`t1`.`s` AS `s` 
 DROP TABLE t1;
 create table t1(f1 varchar(4));
 explain extended select encode(f1,'zxcv') as 'enc' from t1;
-id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	t1	system	NULL	NULL	NULL	NULL	0	const row not found
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
+1	SIMPLE	t1	system	NULL	NULL	NULL	NULL	0	0.00	const row not found
 Warnings:
-Note	1003	select encode(`test`.`t1`.`f1`,'zxcv') AS `enc` from `test`.`t1`
+Note	1003	select encode(`test`.`t1`.`f1`,_latin1'zxcv') AS `enc` from `test`.`t1`
 explain extended select decode(f1,'zxcv') as 'enc' from t1;
-id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	t1	system	NULL	NULL	NULL	NULL	0	const row not found
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
+1	SIMPLE	t1	system	NULL	NULL	NULL	NULL	0	0.00	const row not found
 Warnings:
-Note	1003	select decode(`test`.`t1`.`f1`,'zxcv') AS `enc` from `test`.`t1`
+Note	1003	select decode(`test`.`t1`.`f1`,_latin1'zxcv') AS `enc` from `test`.`t1`
 drop table t1;
 End of 4.1 tests
 create table t1 (d decimal default null);
Thread
bk commit into 5.1 tree (gkodinov:1.2394)kgeorge24 Jan