summaryrefslogtreecommitdiff
path: root/sql/sql_class.h
diff options
context:
space:
mode:
authorunknown <monty@mashka.mysql.fi>2003-06-26 07:56:55 +0300
committerunknown <monty@mashka.mysql.fi>2003-06-26 07:56:55 +0300
commit7539980eb1e70144c8f1232271e4f24311426312 (patch)
tree80a9ea494fdef18a20b754a4ce6bfd8179e5cfe0 /sql/sql_class.h
parenta3beaaa3af7af26aabadda6836618d32d6c90e51 (diff)
downloadmariadb-git-7539980eb1e70144c8f1232271e4f24311426312.tar.gz
Fixed memory allocation in Unique to not allocate too much memory
myisam/mi_info.c: Updated comments mysys/tree.c: Added comment sql/net_serv.cc: Added comment
Diffstat (limited to 'sql/sql_class.h')
-rw-r--r--sql/sql_class.h42
1 files changed, 22 insertions, 20 deletions
diff --git a/sql/sql_class.h b/sql/sql_class.h
index a8a24451ecc..3246f77c77a 100644
--- a/sql/sql_class.h
+++ b/sql/sql_class.h
@@ -781,11 +781,12 @@ class Unique :public Sql_alloc
TREE tree;
byte *record_pointers;
bool flush();
+ uint size;
public:
ulong elements;
Unique(qsort_cmp2 comp_func, void * comp_func_fixed_arg,
- uint size, ulong max_in_memory_size_arg);
+ uint size_arg, ulong max_in_memory_size_arg);
~Unique();
inline bool unique_add(gptr ptr)
{
@@ -800,26 +801,27 @@ public:
friend int unique_write_to_ptrs(gptr key, element_count count, Unique *unique);
};
- class multi_delete : public select_result {
- TABLE_LIST *delete_tables, *table_being_deleted;
- Unique **tempfiles;
- THD *thd;
- ha_rows deleted;
- uint num_of_tables;
- int error;
- bool do_delete, transactional_tables, log_delayed, normal_tables;
- public:
- multi_delete(THD *thd, TABLE_LIST *dt, uint num_of_tables);
- ~multi_delete();
- int prepare(List<Item> &list);
- bool send_fields(List<Item> &list,
+class multi_delete : public select_result
+{
+ TABLE_LIST *delete_tables, *table_being_deleted;
+ Unique **tempfiles;
+ THD *thd;
+ ha_rows deleted;
+ uint num_of_tables;
+ int error;
+ bool do_delete, transactional_tables, log_delayed, normal_tables;
+public:
+ multi_delete(THD *thd, TABLE_LIST *dt, uint num_of_tables);
+ ~multi_delete();
+ int prepare(List<Item> &list);
+ bool send_fields(List<Item> &list,
uint flag) { return 0; }
- bool send_data(List<Item> &items);
- bool initialize_tables (JOIN *join);
- void send_error(uint errcode,const char *err);
- int do_deletes (bool from_send_error);
- bool send_eof();
- };
+ bool send_data(List<Item> &items);
+ bool initialize_tables (JOIN *join);
+ void send_error(uint errcode,const char *err);
+ int do_deletes (bool from_send_error);
+ bool send_eof();
+};
class multi_update : public select_result
{