diff options
author | unknown <igor@rurik.mysql.com> | 2006-09-01 04:23:04 -0700 |
---|---|---|
committer | unknown <igor@rurik.mysql.com> | 2006-09-01 04:23:04 -0700 |
commit | a53f3d0f1a11df65661e7e7926e1c80396d88b32 (patch) | |
tree | 945fec69e0ca7d74a0ca7629e295e22578dd7d22 /sql/sql_list.h | |
parent | 75865af64bdabcf0ade933de1e482a5bea0fb6e9 (diff) | |
download | mariadb-git-a53f3d0f1a11df65661e7e7926e1c80396d88b32.tar.gz |
Fixed bug #16081: row equalities were not taken into
account by the optimizer.
Now all row equalities are converted into conjunctions of
equalities between row elements. They are taken into account
by the optimizer together with the original regular equality
predicates.
mysql-test/r/join_outer.result:
Adjusted results after fix for bug #16081.
mysql-test/r/row.result:
Added a test cases for bug #16081.
mysql-test/t/row.test:
Added a test cases for bug #16081.
sql/sql_list.h:
Corrected the copy constructor for the class base_list.
The previous implementation resulted in creation of an
inconsistent base_list if the source list was empty.
Diffstat (limited to 'sql/sql_list.h')
-rw-r--r-- | sql/sql_list.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sql/sql_list.h b/sql/sql_list.h index b2bcc4ea401..afad6d0f6ac 100644 --- a/sql/sql_list.h +++ b/sql/sql_list.h @@ -94,9 +94,9 @@ public: inline base_list() { empty(); } inline base_list(const base_list &tmp) :Sql_alloc() { - elements=tmp.elements; - first=tmp.first; - last=tmp.last; + elements= tmp.elements; + first= tmp.first; + last= elements ? tmp.last : &first; } inline base_list(bool error) { } inline bool push_back(void *info) |