summaryrefslogtreecommitdiff
path: root/sql/item_func.h
diff options
context:
space:
mode:
authorunknown <pem@mysql.comhem.se>2004-06-22 19:38:07 +0200
committerunknown <pem@mysql.comhem.se>2004-06-22 19:38:07 +0200
commit409afdc8a1f1ad715dbc5c5315be18ebbed77940 (patch)
tree0ec3a45a9e2b366990567cba2d2b6b9848869dd1 /sql/item_func.h
parent3d87ec49d8355924bafafdb120782b8960dd428a (diff)
downloadmariadb-git-409afdc8a1f1ad715dbc5c5315be18ebbed77940.tar.gz
Fixed BUG#3486: FOUND_ROWS() fails inside stored procedure [and prepared statement].
mysql-test/r/ps.result: New test case for BUG#3486. mysql-test/t/ps.test: New test case for BUG#3486. sql/item_create.cc: Create an Item_func_found_rows() at parse time, not an Item_int. sql/item_func.cc: Added val_int() method for new Item_func_found_rows class. sql/item_func.h: New class Item_func_found_rows for FOUND_ROWS() function. sql/sql_select.cc: Don't reset thd->limit_found_rows too early, or FOUND_ROWS() wont work.
Diffstat (limited to 'sql/item_func.h')
-rw-r--r--sql/item_func.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/sql/item_func.h b/sql/item_func.h
index 39c0a47ed7c..c05c1b01259 100644
--- a/sql/item_func.h
+++ b/sql/item_func.h
@@ -1071,3 +1071,13 @@ enum Cast_target
ITEM_CAST_BINARY, ITEM_CAST_SIGNED_INT, ITEM_CAST_UNSIGNED_INT,
ITEM_CAST_DATE, ITEM_CAST_TIME, ITEM_CAST_DATETIME, ITEM_CAST_CHAR
};
+
+
+class Item_func_found_rows :public Item_int_func
+{
+public:
+ Item_func_found_rows() :Item_int_func() {}
+ longlong val_int();
+ const char *func_name() const { return "found_rows"; }
+ void fix_length_and_dec() { decimals= 0; maybe_null=0; }
+};