summaryrefslogtreecommitdiff
path: root/sql/item.h
diff options
context:
space:
mode:
authordavi@mysql.com/endora.local <>2008-02-28 11:34:08 -0300
committerdavi@mysql.com/endora.local <>2008-02-28 11:34:08 -0300
commit361262c7c0fa9b755a625852be384de4444dc099 (patch)
tree5b1788366dab7561e122e3742019bf6d0429c289 /sql/item.h
parentee94231f826d25c0c8fbe3516dd17da6935b9ff0 (diff)
downloadmariadb-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.h9
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;
};