summaryrefslogtreecommitdiff
path: root/sql/item.h
diff options
context:
space:
mode:
authorunknown <bell@book.sanja.is.com.ua>2005-05-09 15:34:41 +0300
committerunknown <bell@book.sanja.is.com.ua>2005-05-09 15:34:41 +0300
commit14920f416beb0c78054f87df7c167c7c82e4687f (patch)
tree7e2396ca198ee0c63fea2c5e31e93792bd0bd3c1 /sql/item.h
parentb3d194f2521cc1eb7d682af3329925b3a6cdf5e3 (diff)
parent264fbde3de0ab268c6c6fbb7f3ed0c815f283da8 (diff)
downloadmariadb-git-14920f416beb0c78054f87df7c167c7c82e4687f.tar.gz
Merge book.sanja.is.com.ua:/Users/bell/mysql/bk/mysql-5.0
into book.sanja.is.com.ua:/Users/bell/mysql/bk/work-bug-5.0 sql/item.h: Auto merged
Diffstat (limited to 'sql/item.h')
-rw-r--r--sql/item.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/sql/item.h b/sql/item.h
index 0e15e539067..0166c5e8707 100644
--- a/sql/item.h
+++ b/sql/item.h
@@ -525,8 +525,17 @@ public:
virtual Item *equal_fields_propagator(byte * arg) { return this; }
virtual Item *set_no_const_sub(byte *arg) { return this; }
virtual Item *replace_equal_field(byte * arg) { return this; }
-
- virtual Item *this_item() { return this; } /* For SPs mostly. */
+
+ /*
+ For SP local variable returns pointer to Item representing its
+ current value and pointer to current Item otherwise.
+ */
+ virtual Item *this_item() { return this; }
+ /*
+ For SP local variable returns address of pointer to Item representing its
+ current value and pointer passed via parameter otherwise.
+ */
+ virtual Item **this_item_addr(THD *thd, Item **addr) { return addr; }
virtual Item *this_const_item() const { return const_cast<Item*>(this); } /* For SPs mostly. */
// Row emulation
@@ -573,6 +582,7 @@ public:
bool is_splocal() { return 1; } /* Needed for error checking */
Item *this_item();
+ Item **this_item_addr(THD *thd, Item **);
Item *this_const_item() const;
bool fix_fields(THD *, struct st_table_list *, Item **);