diff options
author | unknown <monty@mishka.local> | 2005-07-19 19:25:05 +0300 |
---|---|---|
committer | unknown <monty@mishka.local> | 2005-07-19 19:25:05 +0300 |
commit | 3a31f7b91f9aea5c6bab45157c3a661252720174 (patch) | |
tree | 98d1121d654b01cf2306965326d1355704fc1218 /sql/log_event.cc | |
parent | ddc3586495aa82f310b0e5c2127b77f28c711c27 (diff) | |
download | mariadb-git-3a31f7b91f9aea5c6bab45157c3a661252720174.tar.gz |
Simple fixes during review of new code
include/my_global.h:
Added floatget() to read unaligned flaot
mysql-test/r/select.result:
Added test for found_rows()
mysql-test/t/select.test:
Added test for found_rows()
sql/des_key_file.cc:
Moved initalization of LOCK_des_key_file to mysqld to make simpler code and avoid theoretical race condition
sql/field_conv.cc:
Added optimizzed varsion of do_cut_string (for simple character sets)
sql/item_func.cc:
Simplify code (and ensure DBUG_ENTER is excuted before main code)
sql/item_strfunc.cc:
Safe calculation of max_length
This was needed as max_length can now be 1<<32-1 (after konstantins recent patch to fix BLOB_LENGTH)
Remove init_des_key_file() as this is not initialized in mysqld.cc
sql/item_timefunc.cc:
Safe calculation of max_length
This was needed as max_length can now be 1<<32-1 (after konstantins recent patch to fix BLOB_LENGTH)
sql/log_event.cc:
Simplify code
sql/mysql_priv.h:
Moved initalization of LOCK_des_key_file to mysqld to make simpler code and avoid theoretical race condition
sql/mysqld.cc:
Moved initalization of LOCK_des_key_file to mysqld to make simpler code and avoid theoretical race condition
Revert wrong patch of calling close_connection() in first close_connections() loop. (Bug #7403)
Instead we now print a warning for closed connections only if mysqld is sarted with --warnings
Added comments to make the close_connections() logic clearer
sql/sql_prepare.cc:
Use floatget() and doubleget() to protect against unaligned data
sql/sql_select.cc:
Fixed some cases unlikely cases where found_rows() would return wrong for queries that would return 0 or 1 rows
Diffstat (limited to 'sql/log_event.cc')
-rw-r--r-- | sql/log_event.cc | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/sql/log_event.cc b/sql/log_event.cc index cda385c911b..4d260763491 100644 --- a/sql/log_event.cc +++ b/sql/log_event.cc @@ -1810,24 +1810,13 @@ int Load_log_event::exec_event(NET* net, struct st_relay_log_info* rli, thd->query= load_data_query; } - /* - We need to set thd->lex->sql_command and thd->lex->duplicates - since InnoDB tests these variables to decide if this is a LOAD - DATA ... REPLACE INTO ... statement even though mysql_parse() - is not called. This is not needed in 5.0 since there the LOAD - DATA ... statement is replicated using mysql_parse(), which - sets the thd->lex fields correctly. - */ - thd->lex->sql_command= SQLCOM_LOAD; if (sql_ex.opt_flags & REPLACE_FLAG) { - thd->lex->duplicates= DUP_REPLACE; handle_dup= DUP_REPLACE; } else if (sql_ex.opt_flags & IGNORE_FLAG) { ignore= 1; - thd->lex->duplicates= DUP_ERROR; handle_dup= DUP_ERROR; } else @@ -1845,9 +1834,18 @@ int Load_log_event::exec_event(NET* net, struct st_relay_log_info* rli, If reading from net (a 3.23 master), mysql_load() will change this to IGNORE. */ - thd->lex->duplicates= DUP_ERROR; handle_dup= DUP_ERROR; } + /* + We need to set thd->lex->sql_command and thd->lex->duplicates + since InnoDB tests these variables to decide if this is a LOAD + DATA ... REPLACE INTO ... statement even though mysql_parse() + is not called. This is not needed in 5.0 since there the LOAD + DATA ... statement is replicated using mysql_parse(), which + sets the thd->lex fields correctly. + */ + thd->lex->sql_command= SQLCOM_LOAD; + thd->lex->duplicates= handle_dup; sql_exchange ex((char*)fname, sql_ex.opt_flags & DUMPFILE_FLAG); String field_term(sql_ex.field_term,sql_ex.field_term_len,log_cs); |