manual merge 5.1-->5.5 (bug 11829681)

This commit is contained in:
Gleb Shchepa 2011-04-08 12:09:24 +04:00
commit b2fee393b0
4 changed files with 26 additions and 1 deletions

View file

@ -4012,6 +4012,15 @@ DROP TABLE t1;
# #
CREATE VIEW v1 AS SELECT 1 IN (1 LIKE 2,0) AS f; CREATE VIEW v1 AS SELECT 1 IN (1 LIKE 2,0) AS f;
DROP VIEW v1; DROP VIEW v1;
#
# Bug 11829681 - 60295: ERROR 1356 ON VIEW THAT EXECUTES FINE AS A QUERY
#
CREATE TABLE t1 (a INT);
CREATE VIEW v1 AS SELECT s.* FROM t1 s, t1 b HAVING a;
SELECT * FROM v1;
a
DROP VIEW v1;
DROP TABLE t1;
# ----------------------------------------------------------------- # -----------------------------------------------------------------
# -- End of 5.1 tests. # -- End of 5.1 tests.
# ----------------------------------------------------------------- # -----------------------------------------------------------------

View file

@ -3979,6 +3979,18 @@ DROP TABLE t1;
CREATE VIEW v1 AS SELECT 1 IN (1 LIKE 2,0) AS f; CREATE VIEW v1 AS SELECT 1 IN (1 LIKE 2,0) AS f;
DROP VIEW v1; DROP VIEW v1;
--echo #
--echo # Bug 11829681 - 60295: ERROR 1356 ON VIEW THAT EXECUTES FINE AS A QUERY
--echo #
CREATE TABLE t1 (a INT);
CREATE VIEW v1 AS SELECT s.* FROM t1 s, t1 b HAVING a;
SELECT * FROM v1;
DROP VIEW v1;
DROP TABLE t1;
--echo # ----------------------------------------------------------------- --echo # -----------------------------------------------------------------
--echo # -- End of 5.1 tests. --echo # -- End of 5.1 tests.
--echo # ----------------------------------------------------------------- --echo # -----------------------------------------------------------------

View file

@ -6479,7 +6479,7 @@ void Item_ref::print(String *str, enum_query_type query_type)
{ {
THD *thd= current_thd; THD *thd= current_thd;
append_identifier(thd, str, (*ref)->real_item()->name, append_identifier(thd, str, (*ref)->real_item()->name,
(*ref)->real_item()->name_length); strlen((*ref)->real_item()->name));
} }
else else
(*ref)->print(str, query_type); (*ref)->print(str, query_type);

View file

@ -548,6 +548,10 @@ public:
*/ */
Item *next; Item *next;
uint32 max_length; /* Maximum length, in bytes */ uint32 max_length; /* Maximum length, in bytes */
/*
TODO: convert name and name_length fields into String to keep them in sync
(see bug #11829681/60295 etc).
*/
uint name_length; /* Length of name */ uint name_length; /* Length of name */
int8 marker; int8 marker;
uint8 decimals; uint8 decimals;