summaryrefslogtreecommitdiff
path: root/sql/sql_select.cc
diff options
context:
space:
mode:
authorSergei Petrunia <psergey@askmonty.org>2020-01-17 00:46:40 +0300
committerSergei Petrunia <psergey@askmonty.org>2020-01-17 00:46:40 +0300
commite709eb9bf712006d070767629518f827cd2f6bed (patch)
tree103290899cbe2a67f78277e0e33486e51ef01717 /sql/sql_select.cc
parentd531b4ee3a9bcd89a2fa6b49a2207eaf966f53e3 (diff)
parentb04429434ad1ee7f49d263762a560f4ff31dd111 (diff)
downloadmariadb-git-e709eb9bf712006d070767629518f827cd2f6bed.tar.gz
Merge branch '10.2' into 10.3
# Conflicts: # mysql-test/suite/galera/r/MW-388.result # mysql-test/suite/galera/t/MW-388.test # mysql-test/suite/innodb/r/truncate_inject.result # mysql-test/suite/innodb/t/truncate_inject.test # mysql-test/suite/rpl/r/rpl_stop_slave.result # mysql-test/suite/rpl/t/rpl_stop_slave.test # sql/sp_head.cc # sql/sp_head.h # sql/sql_lex.cc # sql/sql_yacc.yy # storage/xtradb/buf/buf0dblwr.cc
Diffstat (limited to 'sql/sql_select.cc')
-rw-r--r--sql/sql_select.cc13
1 files changed, 8 insertions, 5 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index 76cad16de28..0d47aee9882 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -14543,15 +14543,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)