summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <monty@mashka.mysql.fi>2003-07-01 13:09:24 +0300
committerunknown <monty@mashka.mysql.fi>2003-07-01 13:09:24 +0300
commit1726ae86be52bc129b5788406d60808b15b8bd9f (patch)
tree70fbaea028f6bbf6ba895a7dfb5eca914c106904 /sql
parentf6d3f0790c953eb1b72e1468d290ece66aeb9940 (diff)
parentcaddb5ea53cbde18bf0a915bc4867fecd93c55d5 (diff)
downloadmariadb-git-1726ae86be52bc129b5788406d60808b15b8bd9f.tar.gz
Merge bk-internal.mysql.com:/home/bk/mysql-3.23
into mashka.mysql.fi:/home/my/mysql-3.23
Diffstat (limited to 'sql')
-rw-r--r--sql/sql_select.cc14
1 files changed, 13 insertions, 1 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index cafafee243e..b9e9c0a14fa 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -5326,11 +5326,23 @@ create_sort_index(JOIN_TAB *tab,ORDER *order,ha_rows select_limit)
can use.
*/
if (!(select->quick=get_ft_or_quick_select_for_ref(table, tab)))
- goto err;
+ {
+ if (current_thd->fatal_error)
+ goto err; // End of memory
+ /*
+ Impossible range (for example lookup on NULL on not null field)
+ Create empty result set
+ */
+ if (!(table->record_pointers= my_malloc(1, MYF(MY_WME))))
+ goto err;
+ table->found_records= 0;
+ goto end;
+ }
}
}
table->found_records=filesort(&table,sortorder,length,
select, 0L, select_limit, &examined_rows);
+end:
delete select; // filesort did select
tab->select=0;
tab->select_cond=0;