summaryrefslogtreecommitdiff
path: root/sql/item.h
diff options
context:
space:
mode:
authorunknown <petr@mysql.com>2005-09-08 18:25:42 +0200
committerunknown <petr@mysql.com>2005-09-08 18:25:42 +0200
commit1b15f430d6734bc3a3b1e4f5af6d52855ad7d33d (patch)
treec08168bd61b61bb609554187c18f46ee88be27d7 /sql/item.h
parente61d56a985ad06d23548b367c6258b006ac2dfea (diff)
downloadmariadb-git-1b15f430d6734bc3a3b1e4f5af6d52855ad7d33d.tar.gz
fix for Bug #12849 Stored Procedure: Crash on procedure call with CHAR type 'INOUT' parameter
(recommit with the right Bug#) mysql-test/r/sp.result: result file modified to reflect new test mysql-test/t/sp.test: added test for the bug sql/item.cc: protect Item_splocal value from modification by CONCAT() et al sql/item.h: added a buffer to save Item_splocal string pointer sql/sp_head.cc: don't employ reuse mechanism to save var into itself
Diffstat (limited to 'sql/item.h')
-rw-r--r--sql/item.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/sql/item.h b/sql/item.h
index f128c72413d..381ba98e193 100644
--- a/sql/item.h
+++ b/sql/item.h
@@ -715,9 +715,17 @@ public:
class Item_splocal : public Item
{
uint m_offset;
+
public:
LEX_STRING m_name;
+ /*
+ Buffer, pointing to the string value of the item. We need it to
+ protect internal buffer from changes. See comment to analogous
+ member in Item_param for more details.
+ */
+ String str_value_ptr;
+
/*
Position of this reference to SP variable in the statement (the
statement itself is in sp_instr_stmt::m_query).