summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorSergey Glukhov <sergey.glukhov@oracle.com>2012-04-04 14:19:00 +0400
committerSergey Glukhov <sergey.glukhov@oracle.com>2012-04-04 14:19:00 +0400
commitea1b0492a081f335809e1cae6b9fd7738e00ea02 (patch)
tree2756d3da962978b761031031abb721a5e508a2e3 /sql
parent46d848b8e1f3e800f2cd0adbc410e4a9cb9f88ca (diff)
parentb5c690aa548ce7796d25f9df3f8ae056dcda1703 (diff)
downloadmariadb-git-ea1b0492a081f335809e1cae6b9fd7738e00ea02.tar.gz
5.1-security -> 5.5-security merge
Diffstat (limited to 'sql')
-rw-r--r--sql/sql_select.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index 50ae8916707..5d5a576c3b0 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -5890,6 +5890,7 @@ static bool create_ref_for_key(JOIN *join, JOIN_TAB *j, KEYUSE *org_keyuse,
}
keyuse++;
} while (keyuse->table == table && keyuse->key == key);
+ DBUG_ASSERT(length > 0 && keyparts != 0);
} /* not ftkey */
/* set up fieldref */
@@ -13698,6 +13699,9 @@ test_if_skip_sort_order(JOIN_TAB *tab,ORDER *order,ha_rows select_limit,
DBUG_ENTER("test_if_skip_sort_order");
LINT_INIT(ref_key_parts);
+ /* Check that we are always called with first non-const table */
+ DBUG_ASSERT(tab == tab->join->join_tab + tab->join->const_tables);
+
/*
Keys disabled by ALTER TABLE ... DISABLE KEYS should have already
been taken into account.
@@ -13779,7 +13783,8 @@ test_if_skip_sort_order(JOIN_TAB *tab,ORDER *order,ha_rows select_limit,
while (keyuse->key != new_ref_key && keyuse->table == tab->table)
keyuse++;
if (create_ref_for_key(tab->join, tab, keyuse,
- tab->join->const_table_map))
+ (tab->join->const_table_map |
+ OUTER_REF_TABLE_BIT)))
DBUG_RETURN(0);
pick_table_access_method(tab);