summaryrefslogtreecommitdiff
path: root/sql/mysql_priv.h
diff options
context:
space:
mode:
authorunknown <sergefp@mysql.com>2005-10-25 19:28:27 +0400
committerunknown <sergefp@mysql.com>2005-10-25 19:28:27 +0400
commit2b7f5a45e96413f88ba93ebd85971a3b82cbeb7c (patch)
tree5de18844ff69573fffda746669424dbe86b91bf3 /sql/mysql_priv.h
parent11541107b83d8e361722dff601192bd7d7f70ca9 (diff)
downloadmariadb-git-2b7f5a45e96413f88ba93ebd85971a3b82cbeb7c.tar.gz
BUG#13126: When choosing join order for join with nested joins, don't produce join
orders that cannot be handled by the executioner. mysql-test/r/bigint.result: Added mssing "drop table if exists" mysql-test/r/join_nested.result: Testcase for BUG#13126 mysql-test/t/bigint.test: Added mssing "drop table if exists" mysql-test/t/join_nested.test: Testcase for BUG#13126 sql/mysql_priv.h: BUG#13126: Added nested_join_map type. sql/sql_prepare.cc: BUG#13126: Don't set NESTED_JOIN::counter to 0 here as it is reset in other place now. sql/sql_select.cc: BUG#13126: When choosing join order for join with nested joins, don't produce join orders that the executioner cannot handle. The work is done by check_interleaving_with_nj() and restore_prev_nj_state() functions that are used from the join optimizer to avoid building invalid join orders. sql/sql_select.h: BUG#13126: Added JOIN_TAB::embedding_map and JOIN::cur_embedding_map. sql/table.h: BUG#13126: In NESTED_JOIN: added nj_map, added comment about where counter is used.
Diffstat (limited to 'sql/mysql_priv.h')
-rw-r--r--sql/mysql_priv.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h
index 19ebceab719..198a90dbd8a 100644
--- a/sql/mysql_priv.h
+++ b/sql/mysql_priv.h
@@ -44,6 +44,11 @@
typedef ulonglong table_map; /* Used for table bits in join */
typedef Bitmap<64> key_map; /* Used for finding keys */
typedef ulong key_part_map; /* Used for finding key parts */
+/*
+ Used for nested join bits within a scope of a join (applicable to non-unary
+ nested joins that have not been simplified away)
+*/
+typedef ulonglong nested_join_map;
/* query_id */
typedef ulonglong query_id_t;