summaryrefslogtreecommitdiff
path: root/sql/sql_class.h
diff options
context:
space:
mode:
authorSinisa@sinisa.nasamreza.org <>2001-06-07 14:10:58 +0300
committerSinisa@sinisa.nasamreza.org <>2001-06-07 14:10:58 +0300
commit62f5630197cc76c9bea9e7f1e57139acd63b4d5b (patch)
treedd2be2dec43e6f6be30389e81bd803459d639fb6 /sql/sql_class.h
parent338b51b5a7e23983f39c06b4b74523349401245c (diff)
downloadmariadb-git-62f5630197cc76c9bea9e7f1e57139acd63b4d5b.tar.gz
Enhancing both multi-table delete and division of LEX
Diffstat (limited to 'sql/sql_class.h')
-rw-r--r--sql/sql_class.h60
1 files changed, 32 insertions, 28 deletions
diff --git a/sql/sql_class.h b/sql/sql_class.h
index 19ac075697b..3b83558ebdb 100644
--- a/sql/sql_class.h
+++ b/sql/sql_class.h
@@ -464,34 +464,6 @@ public:
void send_error(uint errcode,const char *err);
bool send_eof();
};
-
- class multi_delete : public select_result {
- TABLE_LIST *delete_tables, *table_being_deleted;
- IO_CACHE **tempfiles;
- thr_lock_type lock_option;
- ulong deleted;
- byte *dup_checking, wrong_record[MAX_REFLENGTH], *memory_lane;
- int num_of_tables, error;
- bool do_delete;
- THD *thd;
- public:
- multi_delete(TABLE_LIST *dt, thr_lock_type o, uint n)
- : delete_tables (dt), lock_option(o), deleted(0), num_of_tables(n), error(0)
- {
- memset(wrong_record,'\xFF',MAX_REFLENGTH);
- thd = current_thd; do_delete = false;
- }
- ~multi_delete();
- int prepare(List<Item> &list);
- bool send_fields(List<Item> &list,
- uint flag) { return 0; }
- bool send_data(List<Item> &items);
- void send_error(uint errcode,const char *err);
- int do_deletes (bool from_send_error);
- bool send_eof();
- };
-
-
class select_insert :public select_result {
protected:
TABLE *table;
@@ -619,3 +591,35 @@ public:
friend int unique_write_to_file(gptr key, element_count count, Unique *unique);
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;
+#ifdef SINISAS_STRIP
+ IO_CACHE **tempfiles;
+ byte *memory_lane;
+#else
+ Unique **tempfiles;
+#endif
+ byte * dup_checking;
+ THD *thd;
+ ha_rows deleted;
+ int num_of_tables, error;
+ thr_lock_type lock_option;
+ bool do_delete;
+ public:
+ multi_delete(TABLE_LIST *dt, thr_lock_type o, uint n)
+ : delete_tables (dt), lock_option(o), deleted(0), num_of_tables(n), error(0)
+ {
+ thd = current_thd; do_delete = false;
+ }
+ ~multi_delete();
+ int prepare(List<Item> &list);
+ bool send_fields(List<Item> &list,
+ uint flag) { return 0; }
+ bool send_data(List<Item> &items);
+ void send_error(uint errcode,const char *err);
+ int do_deletes (bool from_send_error);
+ bool send_eof();
+ };
+
+