mirror of
https://github.com/MariaDB/server.git
synced 2025-12-24 11:21:21 +03:00
Merge zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-forcollapseandmerge
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
This commit is contained in:
@@ -77,10 +77,10 @@ typedef struct st_user_var_events
|
||||
was actually changed or not.
|
||||
*/
|
||||
typedef struct st_copy_info {
|
||||
ha_rows records; /* Number of processed records */
|
||||
ha_rows deleted; /* Number of deleted records */
|
||||
ha_rows updated; /* Number of updated records */
|
||||
ha_rows copied; /* Number of copied records */
|
||||
ha_rows records; /**< Number of processed records */
|
||||
ha_rows deleted; /**< Number of deleted records */
|
||||
ha_rows updated; /**< Number of updated records */
|
||||
ha_rows copied; /**< Number of copied records */
|
||||
ha_rows error_count;
|
||||
ha_rows touched; /* Number of touched records */
|
||||
enum enum_duplicates handle_duplicates;
|
||||
@@ -1047,14 +1047,17 @@ public:
|
||||
*/
|
||||
char *catalog;
|
||||
|
||||
/*
|
||||
WARNING: some members of THD (currently 'Statement::db',
|
||||
/**
|
||||
@note
|
||||
Some members of THD (currently 'Statement::db',
|
||||
'catalog' and 'query') are set and alloced by the slave SQL thread
|
||||
(for the THD of that thread); that thread is (and must remain, for now)
|
||||
the only responsible for freeing these 3 members. If you add members
|
||||
here, and you add code to set them in replication, don't forget to
|
||||
free_them_and_set_them_to_0 in replication properly. For details see
|
||||
the 'err:' label of the handle_slave_sql() in sql/slave.cc.
|
||||
|
||||
@see handle_slave_sql
|
||||
*/
|
||||
|
||||
Security_context main_security_ctx;
|
||||
@@ -1268,14 +1271,16 @@ public:
|
||||
We follow this logic:
|
||||
- when stmt starts, first_successful_insert_id_in_prev_stmt contains the
|
||||
first insert id successfully inserted by the previous stmt.
|
||||
- as stmt makes progress, handler::insert_id_for_cur_row changes; every
|
||||
time get_auto_increment() is called, auto_inc_intervals_for_binlog is
|
||||
augmented with the reserved interval (if statement-based binlogging).
|
||||
- as stmt makes progress, handler::insert_id_for_cur_row changes;
|
||||
every time get_auto_increment() is called,
|
||||
auto_inc_intervals_in_cur_stmt_for_binlog is augmented with the
|
||||
reserved interval (if statement-based binlogging).
|
||||
- at first successful insertion of an autogenerated value,
|
||||
first_successful_insert_id_in_cur_stmt is set to
|
||||
handler::insert_id_for_cur_row.
|
||||
- when stmt goes to binlog, auto_inc_intervals_for_binlog is
|
||||
binlogged if non-empty.
|
||||
- when stmt goes to binlog,
|
||||
auto_inc_intervals_in_cur_stmt_for_binlog is binlogged if
|
||||
non-empty.
|
||||
- when stmt ends, first_successful_insert_id_in_prev_stmt is set to
|
||||
first_successful_insert_id_in_cur_stmt.
|
||||
*/
|
||||
@@ -1370,9 +1375,20 @@ public:
|
||||
|
||||
ulonglong limit_found_rows;
|
||||
ulonglong options; /* Bitmap of states */
|
||||
longlong row_count_func; /* For the ROW_COUNT() function */
|
||||
ha_rows cuted_fields,
|
||||
sent_row_count, examined_row_count;
|
||||
longlong row_count_func; /* For the ROW_COUNT() function */
|
||||
ha_rows cuted_fields;
|
||||
|
||||
/*
|
||||
number of rows we actually sent to the client, including "synthetic"
|
||||
rows in ROLLUP etc.
|
||||
*/
|
||||
ha_rows sent_row_count;
|
||||
|
||||
/*
|
||||
number of rows we read, sent or not, including in create_sort_index()
|
||||
*/
|
||||
ha_rows examined_row_count;
|
||||
|
||||
/*
|
||||
The set of those tables whose fields are referenced in all subqueries
|
||||
of the query.
|
||||
@@ -1412,7 +1428,11 @@ public:
|
||||
/* Statement id is thread-wide. This counter is used to generate ids */
|
||||
ulong statement_id_counter;
|
||||
ulong rand_saved_seed1, rand_saved_seed2;
|
||||
ulong row_count; // Row counter, mainly for errors and warnings
|
||||
/*
|
||||
Row counter, mainly for errors and warnings. Not increased in
|
||||
create_sort_index(); may differ from examined_row_count.
|
||||
*/
|
||||
ulong row_count;
|
||||
pthread_t real_id; /* For debugging */
|
||||
my_thread_id thread_id;
|
||||
uint tmp_table, global_read_lock;
|
||||
@@ -2106,12 +2126,19 @@ public:
|
||||
class select_export :public select_to_file {
|
||||
uint field_term_length;
|
||||
int field_sep_char,escape_char,line_sep_char;
|
||||
int field_term_char; // first char of FIELDS TERMINATED BY or MAX_INT
|
||||
/*
|
||||
The is_ambiguous_field_sep field is true if a value of the field_sep_char
|
||||
field is one of the 'n', 't', 'r' etc characters
|
||||
(see the READ_INFO::unescape method and the ESCAPE_CHARS constant value).
|
||||
*/
|
||||
bool is_ambiguous_field_sep;
|
||||
/*
|
||||
The is_ambiguous_field_term is true if field_sep_char contains the first
|
||||
char of the FIELDS TERMINATED BY (ENCLOSED BY is empty), and items can
|
||||
contain this character.
|
||||
*/
|
||||
bool is_ambiguous_field_term;
|
||||
/*
|
||||
The is_unsafe_field_sep field is true if a value of the field_sep_char
|
||||
field is one of the '0'..'9', '+', '-', '.' and 'e' characters
|
||||
@@ -2477,6 +2504,11 @@ class multi_delete :public select_result_interceptor
|
||||
/* True if at least one table we delete from is not transactional */
|
||||
bool normal_tables;
|
||||
bool delete_while_scanning;
|
||||
/*
|
||||
error handling (rollback and binlogging) can happen in send_eof()
|
||||
so that afterward send_error() needs to find out that.
|
||||
*/
|
||||
bool error_handled;
|
||||
|
||||
public:
|
||||
multi_delete(TABLE_LIST *dt, uint num_of_tables);
|
||||
@@ -2512,6 +2544,11 @@ class multi_update :public select_result_interceptor
|
||||
/* True if the update operation has made a change in a transactional table */
|
||||
bool transactional_tables;
|
||||
bool ignore;
|
||||
/*
|
||||
error handling (rollback and binlogging) can happen in send_eof()
|
||||
so that afterward send_error() needs to find out that.
|
||||
*/
|
||||
bool error_handled;
|
||||
|
||||
public:
|
||||
multi_update(TABLE_LIST *ut, TABLE_LIST *leaves_list,
|
||||
|
||||
Reference in New Issue
Block a user