summaryrefslogtreecommitdiff
path: root/sql/opt_range.h
diff options
context:
space:
mode:
authormonty@tik.mysql.fi <>2002-03-02 09:51:24 +0200
committermonty@tik.mysql.fi <>2002-03-02 09:51:24 +0200
commit9d9bcf25e7d6dccd531bea72f68f3317324ea051 (patch)
tree7c46a4aab7560f176209fe10d40e1ec2df488a46 /sql/opt_range.h
parentc639329afbde2bd9d59b488d43dde355c1c54678 (diff)
downloadmariadb-git-9d9bcf25e7d6dccd531bea72f68f3317324ea051.tar.gz
Fix sorting of NULL values (Should always be first)
Fix problem with HAVING and MAX() IS NOT NULL
Diffstat (limited to 'sql/opt_range.h')
-rw-r--r--sql/opt_range.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/sql/opt_range.h b/sql/opt_range.h
index 83eb10235ea..f48a3936a17 100644
--- a/sql/opt_range.h
+++ b/sql/opt_range.h
@@ -77,6 +77,7 @@ public:
void reset(void) { next=0; it.rewind(); }
int init() { return error=file->index_init(index); }
virtual int get_next();
+ virtual bool reverse_sorted() { return 0; }
int cmp_next(QUICK_RANGE *range);
bool unique_key_range();
};
@@ -87,6 +88,7 @@ class QUICK_SELECT_DESC: public QUICK_SELECT
public:
QUICK_SELECT_DESC(QUICK_SELECT *q, uint used_key_parts);
int get_next();
+ bool reverse_sorted() { return 1; }
private:
int cmp_prev(QUICK_RANGE *range);
bool range_reads_after_key(QUICK_RANGE *range);
@@ -96,6 +98,7 @@ private:
List_iterator<QUICK_RANGE> rev_it;
};
+
class SQL_SELECT :public Sql_alloc {
public:
QUICK_SELECT *quick; // If quick-select used