summaryrefslogtreecommitdiff
path: root/sql/item_uniq.h
diff options
context:
space:
mode:
authorunknown <malff/marcsql@weblab.(none)>2007-01-11 14:58:05 -0700
committerunknown <malff/marcsql@weblab.(none)>2007-01-11 14:58:05 -0700
commitcdb60578f4ca6797bcc36ad0ec935aa1593ca405 (patch)
tree53f7cc34c8a22ed9ceaf16d39f046e08a1c24778 /sql/item_uniq.h
parent552d4cede57926ecfba91624e9ef2a72cf1bd81f (diff)
downloadmariadb-git-cdb60578f4ca6797bcc36ad0ec935aa1593ca405.tar.gz
Bug#22687 (Functions UNIQUE_USERS, GROUP_UNIQUE_USERS)
According to some internal communication, these two functions are place holders for future enhancements. Because they use a variable number of parameters, the implementation defined a reserved keyword for them in the parser grammar. Unfortunately, doing so creates a bug similar to Bug 21114 reported for the function FORMAT. In the 5.1 code base, due to improvements in the code implemented with bug 21114, having a reserved keyword for functions with a variable number of arguments is not needed any more by the implementation. As a result, this fix removes the place-holder implementation, and removes the unnecessary reserved keywords. Should the functions UNIQUE_USERS and GROUP_UNIQUE_USERS be finally implemented in a later release, the implementation should sub class Create_native_func in sql/item_create.cc. For example, see the class Create_func_concat. BitKeeper/deleted/.del-item_uniq.cc: Rename: sql/item_uniq.cc -> BitKeeper/deleted/.del-item_uniq.cc BitKeeper/deleted/.del-item_uniq.h: Rename: sql/item_uniq.h -> BitKeeper/deleted/.del-item_uniq.h libmysqld/Makefile.am: Remove native functions UNIQUE_USERS() and GROUP_UNIQUE_USERS(). mysql-test/r/parser.result: Remove native functions UNIQUE_USERS() and GROUP_UNIQUE_USERS(). mysql-test/t/parser.test: Remove native functions UNIQUE_USERS() and GROUP_UNIQUE_USERS(). sql/Makefile.am: Remove native functions UNIQUE_USERS() and GROUP_UNIQUE_USERS(). sql/item.h: Remove native functions UNIQUE_USERS() and GROUP_UNIQUE_USERS(). sql/item_sum.h: Remove native functions UNIQUE_USERS() and GROUP_UNIQUE_USERS(). sql/lex.h: Remove native functions UNIQUE_USERS() and GROUP_UNIQUE_USERS(). sql/mysql_priv.h: Remove native functions UNIQUE_USERS() and GROUP_UNIQUE_USERS(). sql/sql_yacc.yy: Remove native functions UNIQUE_USERS() and GROUP_UNIQUE_USERS().
Diffstat (limited to 'sql/item_uniq.h')
-rw-r--r--sql/item_uniq.h63
1 files changed, 0 insertions, 63 deletions
diff --git a/sql/item_uniq.h b/sql/item_uniq.h
deleted file mode 100644
index a0aa0b96cc6..00000000000
--- a/sql/item_uniq.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
-
-/* Compability file ; This file only contains dummy functions */
-
-#ifdef USE_PRAGMA_INTERFACE
-#pragma interface
-#endif
-
-#include <queues.h>
-
-class Item_func_unique_users :public Item_real_func
-{
-public:
- Item_func_unique_users(Item *name_arg,int start,int end,List<Item> &list)
- :Item_real_func(list) {}
- double val_real() { DBUG_ASSERT(fixed == 1); return 0.0; }
- void fix_length_and_dec() { decimals=0; max_length=6; }
- void print(String *str) { str->append(STRING_WITH_LEN("0.0")); }
- const char *func_name() const { return "unique_users"; }
-};
-
-
-class Item_sum_unique_users :public Item_sum_num
-{
-public:
- Item_sum_unique_users(Item *name_arg,int start,int end,Item *item_arg)
- :Item_sum_num(item_arg) {}
- Item_sum_unique_users(THD *thd, Item_sum_unique_users *item)
- :Item_sum_num(thd, item) {}
- double val_real() { DBUG_ASSERT(fixed == 1); return 0.0; }
- enum Sumfunctype sum_func () const {return UNIQUE_USERS_FUNC;}
- void clear() {}
- bool add() { return 0; }
- void reset_field() {}
- void update_field() {}
- bool fix_fields(THD *thd, Item **ref)
- {
- DBUG_ASSERT(fixed == 0);
- fixed= 1;
- return FALSE;
- }
- Item *copy_or_same(THD* thd)
- {
- return new Item_sum_unique_users(thd, this);
- }
- void print(String *str) { str->append(STRING_WITH_LEN("0.0")); }
- Field *create_tmp_field(bool group, TABLE *table, uint convert_blob_length);
- const char *func_name() const { return "sum_unique_users"; }
-};