summaryrefslogtreecommitdiff
path: root/sql/item.h
diff options
context:
space:
mode:
authorunknown <pappa@c-8b0ae253.1238-1-64736c10.cust.bredbandsbolaget.se>2005-08-05 18:01:34 -0400
committerunknown <pappa@c-8b0ae253.1238-1-64736c10.cust.bredbandsbolaget.se>2005-08-05 18:01:34 -0400
commitaca6f88ebb4fb6118b8f12a696111fce167762d3 (patch)
treef2bca76ddf241e417c5d8e8f0ab325105e97cbae /sql/item.h
parent9216f5f25926197a4b40ac4fd4aeb9ad48a2a247 (diff)
parente13fa8ebbb095970b9a5a206001eeb06273567de (diff)
downloadmariadb-git-aca6f88ebb4fb6118b8f12a696111fce167762d3.tar.gz
Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.0
into c-8b0ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/mysql-5.1 BitKeeper/etc/config: Auto merged mysql-test/mysql-test-run.pl: Auto merged mysql-test/r/information_schema_db.result: Auto merged mysql-test/t/disabled.def: Auto merged mysys/default.c: Auto merged scripts/Makefile.am: Auto merged scripts/mysql_create_system_tables.sh: Auto merged scripts/mysql_fix_privilege_tables.sql: Auto merged sql/field.cc: Auto merged sql/field.h: Auto merged sql/ha_federated.cc: Auto merged sql/ha_innodb.cc: Auto merged sql/ha_innodb.h: Auto merged sql/ha_ndbcluster.cc: Auto merged sql/ha_ndbcluster.h: Auto merged sql/handler.cc: Auto merged sql/item.cc: Auto merged sql/lock.cc: Auto merged sql/log.cc: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/set_var.cc: Auto merged sql/set_var.h: Auto merged sql/slave.cc: Auto merged sql/slave.h: Auto merged sql/sp.cc: Auto merged sql/sql_acl.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_cache.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_insert.cc: Auto merged sql/sql_lex.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_prepare.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_show.cc: Auto merged sql/sql_table.cc: Auto merged sql/table.cc: Auto merged sql/table.h: Auto merged sql/tztime.cc: Auto merged sql/unireg.cc: Auto merged storage/innobase/buf/buf0buf.c: Auto merged storage/innobase/include/os0file.h: Auto merged storage/innobase/include/read0read.h: Auto merged storage/innobase/include/read0types.h: Auto merged storage/innobase/include/trx0trx.h: Auto merged storage/innobase/os/os0file.c: Auto merged storage/innobase/read/read0read.c: Auto merged storage/innobase/row/row0sel.c: Auto merged storage/innobase/srv/srv0srv.c: Auto merged storage/innobase/srv/srv0start.c: Auto merged storage/innobase/trx/trx0sys.c: Auto merged storage/innobase/trx/trx0trx.c: Auto merged storage/myisam/mi_create.c: Auto merged storage/myisam/sort.c: Auto merged storage/ndb/include/mgmapi/mgmapi.h: Auto merged storage/ndb/include/mgmapi/mgmapi_config_parameters.h: Auto merged storage/ndb/src/common/portlib/NdbMutex.c: Auto merged storage/ndb/src/common/portlib/NdbThread.c: Auto merged storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp: Auto merged storage/ndb/src/kernel/blocks/dbtup/DbtupGen.cpp: Auto merged storage/ndb/src/mgmapi/mgmapi.cpp: Auto merged storage/ndb/src/mgmsrv/ConfigInfo.cpp: Auto merged storage/ndb/src/mgmsrv/ConfigInfo.hpp: Auto merged strings/ctype-big5.c: Auto merged strings/ctype-ucs2.c: Auto merged support-files/mysql.spec.sh: Auto merged configure.in: Manual merge 5.0 -> 5.1 mysql-test/t/alter_table.test: Manual merge 5.0 -> 5.1 sql/share/errmsg.txt: Manual merge 5.0 -> 5.1 storage/ndb/tools/Makefile.am: Manual merge 5.0 -> 5.1
Diffstat (limited to 'sql/item.h')
-rw-r--r--sql/item.h21
1 files changed, 18 insertions, 3 deletions
diff --git a/sql/item.h b/sql/item.h
index 5a1cf193806..f0ffb160553 100644
--- a/sql/item.h
+++ b/sql/item.h
@@ -767,6 +767,15 @@ public:
};
+bool agg_item_collations(DTCollation &c, const char *name,
+ Item **items, uint nitems, uint flags= 0);
+bool agg_item_collations_for_comparison(DTCollation &c, const char *name,
+ Item **items, uint nitems,
+ uint flags= 0);
+bool agg_item_charsets(DTCollation &c, const char *name,
+ Item **items, uint nitems, uint flags= 0);
+
+
class Item_num: public Item
{
public:
@@ -1141,7 +1150,7 @@ class Item_uint :public Item_int
{
public:
Item_uint(const char *str_arg, uint length);
- Item_uint(uint32 i) :Item_int((ulonglong) i, 10) {}
+ Item_uint(ulonglong i) :Item_int((ulonglong) i, 10) {}
Item_uint(const char *str_arg, longlong i, uint length);
double val_real()
{ DBUG_ASSERT(fixed == 1); return ulonglong2double((ulonglong)value); }
@@ -1464,7 +1473,13 @@ public:
void save_org_in_field(Field *field) { (*ref)->save_org_in_field(field); }
enum Item_result result_type () const { return (*ref)->result_type(); }
enum_field_types field_type() const { return (*ref)->field_type(); }
- Field *get_tmp_table_field() { return result_field; }
+ Field *get_tmp_table_field()
+ { return result_field ? result_field : (*ref)->get_tmp_table_field(); }
+ Item *get_tmp_table_item(THD *thd)
+ {
+ return (result_field ? new Item_field(result_field) :
+ (*ref)->get_tmp_table_item(thd));
+ }
table_map used_tables() const
{
return depended_from ? OUTER_REF_TABLE_BIT : (*ref)->used_tables();
@@ -1702,7 +1717,7 @@ class Cached_item_field :public Cached_item
public:
Cached_item_field(Item_field *item)
{
- field=item->field;
+ field= item->field;
buff= (char*) sql_calloc(length=field->pack_length());
}
bool cmp(void);