diff options
-rw-r--r-- | mysql-test/r/win.result | 9 | ||||
-rw-r--r-- | mysql-test/t/win.test | 8 | ||||
-rw-r--r-- | sql/sql_select.cc | 2 |
3 files changed, 17 insertions, 2 deletions
diff --git a/mysql-test/r/win.result b/mysql-test/r/win.result index d287e458b39..a6b43788ffe 100644 --- a/mysql-test/r/win.result +++ b/mysql-test/r/win.result @@ -1,4 +1,5 @@ drop table if exists t1,t2; +drop view if exists v1; # ######################################################################## # # Parser tests # ######################################################################## @@ -1950,3 +1951,11 @@ i sum(i) over (partition by i) 1 1 2 2 drop table t1; +# +# MDEV-9922: Assertion `!join->only_const_tables() && fsort' failed in int create_sort_index +# +create view v1 as select 1 as i; +select rank() over (order by i) from v1; +rank() over (order by i) +1 +drop view v1; diff --git a/mysql-test/t/win.test b/mysql-test/t/win.test index df93ec41c2f..09ddf41b4f0 100644 --- a/mysql-test/t/win.test +++ b/mysql-test/t/win.test @@ -4,6 +4,7 @@ --disable_warnings drop table if exists t1,t2; +drop view if exists v1; --enable_warnings --echo # ######################################################################## @@ -1193,3 +1194,10 @@ insert into t1 values (1),(2); select i, sum(i) over (partition by i) from t1; drop table t1; +--echo # +--echo # MDEV-9922: Assertion `!join->only_const_tables() && fsort' failed in int create_sort_index +--echo # +create view v1 as select 1 as i; +select rank() over (order by i) from v1; +drop view v1; + diff --git a/sql/sql_select.cc b/sql/sql_select.cc index b5099b10297..52e035d6e75 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -21221,8 +21221,6 @@ create_sort_index(THD *thd, JOIN *join, JOIN_TAB *tab, Filesort *fsort) if (fsort == NULL) fsort= tab->filesort; - // One row, no need to sort. make_tmp_tables_info should already handle this. - DBUG_ASSERT(!join->only_const_tables() && fsort); table= tab->table; select= fsort->select; |