summaryrefslogtreecommitdiff
path: root/sql/item.h
diff options
context:
space:
mode:
authorMattias Jonsson <mattias.jonsson@sun.com>2009-08-26 14:40:18 +0200
committerMattias Jonsson <mattias.jonsson@sun.com>2009-08-26 14:40:18 +0200
commit0000c9417aa7730188a1be2bbe5951c9b581f5c5 (patch)
tree192823baa4a5f59da2462d54efac4b4cc571af44 /sql/item.h
parentfc3945950452a12ea7e47c685a73d5d22d338ec2 (diff)
parent67214ef4334deccdd1f1d89c49c4edecd9075962 (diff)
downloadmariadb-git-0000c9417aa7730188a1be2bbe5951c9b581f5c5.tar.gz
merge
Diffstat (limited to 'sql/item.h')
-rw-r--r--sql/item.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/sql/item.h b/sql/item.h
index 464085cb101..808e2370b1e 100644
--- a/sql/item.h
+++ b/sql/item.h
@@ -397,13 +397,20 @@ public:
from INT_RESULT, may be NULL, or are unsigned.
It will be possible to address this issue once the related partitioning bugs
(BUG#16002, BUG#15447, BUG#13436) are fixed.
+
+ The NOT_NULL enums are used in TO_DAYS, since TO_DAYS('2001-00-00') returns
+ NULL which puts those rows into the NULL partition, but
+ '2000-12-31' < '2001-00-00' < '2001-01-01'. So special handling is needed
+ for this (see Bug#20577).
*/
typedef enum monotonicity_info
{
NON_MONOTONIC, /* none of the below holds */
MONOTONIC_INCREASING, /* F() is unary and (x < y) => (F(x) <= F(y)) */
- MONOTONIC_STRICT_INCREASING /* F() is unary and (x < y) => (F(x) < F(y)) */
+ MONOTONIC_INCREASING_NOT_NULL, /* But only for valid/real x and y */
+ MONOTONIC_STRICT_INCREASING,/* F() is unary and (x < y) => (F(x) < F(y)) */
+ MONOTONIC_STRICT_INCREASING_NOT_NULL /* But only for valid/real x and y */
} enum_monotonicity_info;
/*************************************************************************/