diff options
author | Sergei Petrunia <psergey@askmonty.org> | 2020-01-17 00:24:17 +0300 |
---|---|---|
committer | Sergei Petrunia <psergey@askmonty.org> | 2020-01-17 00:24:17 +0300 |
commit | b04429434ad1ee7f49d263762a560f4ff31dd111 (patch) | |
tree | b4018c1ddc398c4baa5d98edafd41eaee7dd88e3 /sql/sql_select.cc | |
parent | bb8226deabd177d70151d5e0729bf08533954ffd (diff) | |
parent | bde7e0ba6e94d576c4563022f38e8d81b1f6d54a (diff) | |
download | mariadb-git-b04429434ad1ee7f49d263762a560f4ff31dd111.tar.gz |
Merge branch '10.1' into 10.2
# Conflicts:
# sql/sp_head.cc
# sql/sql_select.cc
# sql/sql_trigger.cc
Diffstat (limited to 'sql/sql_select.cc')
-rw-r--r-- | sql/sql_select.cc | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 72c1e876359..44ac1056a8a 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -13863,15 +13863,18 @@ static int compare_fields_by_table_order(Item *field1, { int cmp= 0; bool outer_ref= 0; - Item_field *f1= (Item_field *) (field1->real_item()); - Item_field *f2= (Item_field *) (field2->real_item()); - if (field1->const_item() || f1->const_item()) + Item *field1_real= field1->real_item(); + Item *field2_real= field2->real_item(); + + if (field1->const_item() || field1_real->const_item()) return -1; - if (field2->const_item() || f2->const_item()) + if (field2->const_item() || field2_real->const_item()) return 1; + Item_field *f1= (Item_field *) field1_real; + Item_field *f2= (Item_field *) field2_real; if (f1->used_tables() & OUTER_REF_TABLE_BIT) { - outer_ref= 1; + outer_ref= -1; cmp= -1; } if (f2->used_tables() & OUTER_REF_TABLE_BIT) |