summaryrefslogtreecommitdiff
path: root/sql/item_sum.h
diff options
context:
space:
mode:
authorAlexander Barkov <alexander.barkov@oracle.com>2011-01-17 12:30:22 +0300
committerAlexander Barkov <alexander.barkov@oracle.com>2011-01-17 12:30:22 +0300
commita2850a2f5323bfe8eaae17746c88986cee37fc76 (patch)
tree22beb449e4485929acdf9f6b9cbfa2b94cfe1005 /sql/item_sum.h
parent208b677637ef9d140c1629a0de4d4963c02ea533 (diff)
downloadmariadb-git-a2850a2f5323bfe8eaae17746c88986cee37fc76.tar.gz
Bug#59149 valgrind warnings with "like .. escape .." function
Problem: when processing a query like: SELECT '' LIKE '1' ESCAPE COUNT(1); escape_item->val_str() was never executed and the "escape" class member stayed initialized, which led to valgrind uninitialized memory error. Note, a query with some tables in "FROM" clause returns ER_WRONG_ARGUMENTS in the same situation: SELECT '' LIKE '1' ESCAPE COUNT(1) FROM t1; ERROR 1210 (HY000): Incorrect arguments to ESCAPE Fix: disallowing using aggregate functions in ESCAPE clause, even if there are no tables used. There is no much use of that anyway.
Diffstat (limited to 'sql/item_sum.h')
-rw-r--r--sql/item_sum.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/item_sum.h b/sql/item_sum.h
index de988c196ec..f8819d63bf4 100644
--- a/sql/item_sum.h
+++ b/sql/item_sum.h
@@ -339,6 +339,7 @@ public:
forced_const= TRUE;
}
virtual bool const_item() const { return forced_const; }
+ virtual bool const_during_execution() const { return false; }
virtual void print(String *str, enum_query_type query_type);
void fix_num_length_and_dec();