diff options
author | davi@mysql.com/endora.local <> | 2008-02-28 11:34:08 -0300 |
---|---|---|
committer | davi@mysql.com/endora.local <> | 2008-02-28 11:34:08 -0300 |
commit | 361262c7c0fa9b755a625852be384de4444dc099 (patch) | |
tree | 5b1788366dab7561e122e3742019bf6d0429c289 /sql/item.h | |
parent | ee94231f826d25c0c8fbe3516dd17da6935b9ff0 (diff) | |
download | mariadb-git-361262c7c0fa9b755a625852be384de4444dc099.tar.gz |
Bug#33851 Passing UNSIGNED param to EXECUTE returns ERROR 1210
The problem is that passing anything other than a integer to a limit
clause in a prepared statement would fail. This limitation was introduced
to avoid replication problems (e.g: replicating the statement with a
string argument would cause a parse failure in the slave).
The solution is to convert arguments to the limit clause to a integer
value and use this converted value when persisting the query to the log.
Diffstat (limited to 'sql/item.h')
-rw-r--r-- | sql/item.h | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/sql/item.h b/sql/item.h index ae3e240778a..7dc9ed4ec10 100644 --- a/sql/item.h +++ b/sql/item.h @@ -1417,8 +1417,6 @@ class Item_param :public Item char cnvbuf[MAX_FIELD_WIDTH]; String cnvstr; Item *cnvitem; - bool strict_type; - enum Item_result required_result_type; public: enum enum_item_param_state @@ -1548,11 +1546,8 @@ public: Otherwise return FALSE. */ bool eq(const Item *item, bool binary_cmp) const; - void set_strict_type(enum Item_result result_type_arg) - { - strict_type= TRUE; - required_result_type= result_type_arg; - } + /** Item is a argument to a limit clause. */ + bool limit_clause_param; }; |