Commit graph

3239 commits

Author SHA1 Message Date
unknown
6366a9090c ha_innodb.cc, sync0sync.h, sync0sync.c:
Use only noninlined InnoDB functions in ha_innodb.cc


innobase/sync/sync0sync.c:
  Use only noninlined InnoDB functions in ha_innodb.cc
innobase/include/sync0sync.h:
  Use only noninlined InnoDB functions in ha_innodb.cc
sql/ha_innodb.cc:
  Use only noninlined InnoDB functions in ha_innodb.cc
2004-04-09 22:18:18 +03:00
unknown
dc51624d1f Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.0
into gw.mysql.r18.ru:/usr/home/ram/work/4.0.b3376
2004-04-09 19:08:13 +05:00
unknown
5dcbf248a0 A fix. (Bug #3376: AVG(constant) returns constant if no rows in result set) 2004-04-09 19:07:39 +05:00
unknown
1f01df0e72 Fix for BUG#3422 "In 3.23 -> 4.0 replication, slave segfault when replicating LOAD DATA INFILE":
as we transform the 3.23 Load_log_event into a 4.0 Create_file_log_event which is one
byte longer, we need to increment event_len. The bug was that we did not increment it,
so later in code the end 0 was not seen so there was for example a segfault in
strlen(fname) because fname was not 0-terminated.
Other problems remain in 3.23->4.0 replication of LOAD DATA INFILE but they are less serious:
Exec_master_log_pos and Relay_log_space are incorrect. I'll document them.
They are not fixable without significant code changes (if you fix those problems in 4.0,
you get assertion failures somewhere else etc), * which are already done in 5.0.0 *.


sql/slave.cc:
  In 3.23->4.0 replication of LOAD DATA INFILE:
  as we transform the 3.23 Load_log_event into a 4.0 Create_file_log_event which is one
  byte longer, we need to increment event_len.
  So we need to modify the event_len stored in the event.
  And we need to decrement event_len when we compute the offset in the master's binlog.
2004-04-08 22:12:22 +02:00
unknown
26764a7bfa sql_select.cc:
Fix a glitch reported by Philippe Lewicki on the general mailing list: do not print a warning to the .err log if read_key fails with a lock wait timeout error 146


sql/sql_select.cc:
  Fix a glitch reported by Philippe Lewicki on the general mailing list: do not print a warning to the .err log if read_key fails with a lock wait timeout error 146
2004-04-08 09:25:48 +03:00
unknown
726917a28e Fix for BUG#3415 "mysqlbinlog loses a USE command when LOAD DATA INFILE is involved":
if you are printing LOAD DATA INFILE and its USE as comments, don't update 'last_db' (because you
have not actually changed the db in the server).


sql/log_event.cc:
  if you are printing LOAD DATA INFILE and its USE as comments, don't update 'last_db' (because you
  have not actually changed the db in the server).
2004-04-07 18:34:31 +02:00
unknown
1f50a0345c Fix for BUG#3401 "Rare replication bug which leads to "Binlog has bad magic number" from slave":
Backport of a part of this changeset of 4.1:
ChangeSet@1.1753.1.1, 2004-04-05 13:56:05+03:00, monty@mysql.com
which fixes the bug.


sql/slave.cc:
  even if mi is already inited (replication already run once before),
  we need to seek back to the beginning of the relay log to be able
  to later check the binlog's magic number.
2004-04-07 01:14:11 +02:00
unknown
aacdf1ee14 Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0
2004-04-07 00:58:53 +02:00
unknown
e3f0177b98 This is a fix for a bug in 3.23 -> 4.0 replication: Exec_master_log_pos is always
too big by 6 bytes. So I add code to substract 6 bytes if the master is 3.23.
This is not perfect (because it won't work if the slave I/O thread has not
noticed yet that the master is 3.23), but as long as the slave I/O thread
starts Exec_master_log_pos will be ok.
It must be merged to 4.1 but not to 5.0 (or it can be, because of #if MYSQL_VERSION_ID),
because 5.0 already works if the master is 3.23 (and in a more natural way:
in 5.0 we store the end_log_pos in the binlog and relay log).
I had to move functions from slave.h to slave.cc to satisfy gcc.


sql/log_event.cc:
  make the event's length 6 bytes shorter if the master is 3.23
sql/slave.cc:
  Moving several st_relay_log_info methods out of the declaration of the struct,
  because gcc complained that 'mi' was not declared.
  Substracting 6 bytes from the event's length in inc_pos() if the master is 3.23.
sql/slave.h:
  moving several methods out of the declaration of st_relay_log_info.
  Removing 'inline', let's have the compiler decide.
2004-04-07 00:57:14 +02:00
unknown
80fe399fee InnoDB: send diagnostic output to stderr or files
instead of stdout or fixed-size memory buffers


innobase/btr/btr0btr.c:
  Output to stderr; quote table and index names
innobase/btr/btr0cur.c:
  Output to stderr; quote table and index names
innobase/btr/btr0sea.c:
  Output to stderr
innobase/buf/buf0buf.c:
  Output to stderr; quote table and index names
innobase/buf/buf0flu.c:
  Output to stderr
innobase/buf/buf0lru.c:
  Output to stderr
innobase/buf/buf0rea.c:
  Output to stderr
innobase/data/data0data.c:
  Remove dtuple_validate() unless #ifdef UNIV_DEBUG
  Remove unnecessary sprintf() calls
  Output to stderr
innobase/data/data0type.c:
  Output to stderr
innobase/dict/dict0boot.c:
  Remove dummy call to printf()
innobase/dict/dict0crea.c:
  Output diagnostic information to stream, not to memory
innobase/dict/dict0dict.c:
  Output diagnostics to a file, not to a memory buffer
innobase/dict/dict0load.c:
  Output to stderr; quote table and index names
innobase/eval/eval0eval.c:
  Output to stderr
innobase/fil/fil0fil.c:
  Output to stderr
innobase/fsp/fsp0fsp.c:
  Output to stderr
  Avoid sprintf()
innobase/fut/fut0lst.c:
  Output to stderr
innobase/ha/ha0ha.c:
  Output to stream, not to memory buffer
innobase/ibuf/ibuf0ibuf.c:
  Output to stderr
  Avoid sprintf()
innobase/include/buf0buf.h:
  Output to stream, not to memory buffer
innobase/include/buf0buf.ic:
  Use %p for displaying pointers
innobase/include/data0data.h:
  Remove dtuple_sprintf()
innobase/include/dict0dict.h:
  Output to stream, not to memory buffer
innobase/include/ha0ha.h:
  Output to stream, not to memory buffer
innobase/include/ibuf0ibuf.h:
  Output to stream, not to memory buffer
innobase/include/lock0lock.h:
  Output to stream, not to memory buffer
innobase/include/log0log.h:
  Output to stream, not to memory buffer
innobase/include/mtr0log.ic:
  Output to stderr
  Display pointers with %p
innobase/include/os0file.h:
  Output to stream, not to memory buffer
innobase/include/rem0rec.h:
  Remove rec_sprintf()
innobase/include/rem0rec.ic:
  Output to stderr
innobase/include/row0sel.ic:
  Output to stderr
innobase/include/row0upd.ic:
  Quote table and index names
innobase/include/srv0srv.h:
  Remove srv_sprintf_innodb_monitor()
innobase/include/sync0arr.h:
  Output to stream, not to memory buffer
innobase/include/sync0sync.h:
  Output to stream, not to memory buffer
innobase/include/trx0sys.h:
  Output to stderr
innobase/include/trx0trx.h:
  Output to stream, not to memory buffer
innobase/include/ut0ut.h:
  Remove ut_sprintf_buf()
  Add ut_print_name(), ut_print_namel() and ut_copy_file()
innobase/lock/lock0lock.c:
  Output to stream, not to memory buffer
innobase/log/log0log.c:
  Output to stderr
innobase/log/log0recv.c:
  Output to stderr
innobase/mem/mem0dbg.c:
  Output to stderr
innobase/mtr/mtr0log.c:
  Display pointers with %p
innobase/mtr/mtr0mtr.c:
  Output to stderr
innobase/os/os0file.c:
  Output to stream, not to memory buffer
innobase/os/os0proc.c:
  Output to stderr
innobase/os/os0thread.c:
  Output to stderr
innobase/page/page0cur.c:
  Output to stderr
innobase/page/page0page.c:
  Avoid sprintf()
  Output to stderr instead of stdout
innobase/pars/pars0opt.c:
  Output to stderr instead of stdout
innobase/rem/rem0rec.c:
  Remove rec_sprintf()
  Output to stderr instead of stdout
innobase/row/row0ins.c:
  Output diagnostics to stream instead of memory buffer
innobase/row/row0mysql.c:
  Output to stderr instead of stdout
  Quote table and index names
innobase/row/row0purge.c:
  Output to stderr instead of stdout
innobase/row/row0row.c:
  Quote table and index names
innobase/row/row0sel.c:
  Output to stderr instead of stdout
  Quote table and index names
innobase/row/row0umod.c:
  Avoid sprintf()
  Quote table and index names
innobase/row/row0undo.c:
  Output to stderr instead of stdout
innobase/row/row0upd.c:
  Avoid sprintf()
innobase/srv/srv0srv.c:
  Output to stderr instead of stdout
innobase/srv/srv0start.c:
  Handle srv_monitor_file
  Make some global variables static
innobase/sync/sync0arr.c:
  Output to stderr instead of stdout
  Output to stream instead of memory buffer
innobase/sync/sync0rw.c:
  Output to stderr instead of stdout
innobase/sync/sync0sync.c:
  Output to stderr instead of stdout
  Output to stream instead of memory buffer
innobase/trx/trx0purge.c:
  Output to stderr instead of stdout
innobase/trx/trx0rec.c:
  Quote index and table names
  Avoid sprintf()
innobase/trx/trx0roll.c:
  Quote identifier names
  Output to stderr instead of stdout
innobase/trx/trx0sys.c:
  Output to stderr instead of stdout
innobase/trx/trx0trx.c:
  Output to stream instead of memory buffer
innobase/trx/trx0undo.c:
  Output to stderr instead of stdout
innobase/ut/ut0ut.c:
  Declare mysql_get_identifier_quote_char()
  Remove ut_sprintf_buf()
  Add ut_print_name() and ut_print_namel()
  Add ut_copy_file()
sql/ha_innodb.cc:
  innobase_mysql_print_thd(): output to stream, not to memory buffer
  Add mysql_get_identifier_quote_char()
  Remove unused function innobase_print_error()
  Display pointers with %p
  Buffer InnoDB output via files, not via statically allocated memory
2004-04-06 16:14:43 +03:00
unknown
ec3bfc4cac InnoDB: Backport fil_path_to_mysql_datadir from MySQL 4.1.x
innobase/fil/fil0fil.c:
  Backport fil_path_to_mysql_datadir from 4.1
innobase/include/fil0fil.h:
  Backport fil_path_to_mysql_datadir from 4.1
sql/ha_innodb.cc:
  Backport fil_path_to_mysql_datadir from 4.1
2004-04-05 15:40:56 +03:00
unknown
fac3642cc8 InnoDB: ignore intra-database foreign key references between tables
when dropping database (Bug #3058)


innobase/dict/dict0crea.c:
  Add a parameter to row_drop_table_for_mysql()
innobase/dict/dict0dict.c:
  Make dict_tables_have_same_db() a global function
innobase/include/dict0dict.h:
  Make dict_tables_have_same_db() a global function
innobase/include/row0mysql.h:
  Add a parameter to row_drop_table_for_mysql()
innobase/row/row0mysql.c:
  Add a parameter "drop_db" to row_drop_table_for_mysql()
  to skip foreign constraint checks on tables in same database
innobase/trx/trx0roll.c:
  Add a parameter to row_drop_table_for_mysql()
sql/ha_innodb.cc:
  Add a parameter "drop_db" to row_drop_table_for_mysql()
  innobase_drop_database(): allocate namebuf dynamically
2004-04-02 16:25:48 +03:00
unknown
025ddfea28 InnoDB cleanup: fixing buffer overflows and quoting of quotes
innobase/dict/dict0crea.c:
  Remove unneeded prototypes for static functions
  Remove unused parameters from some functions
  Replace some assertions with compile-time checks
  dict_create_add_foreigns_to_dictionary():
  allocate space dynamically for the SQL, and quote quotes
innobase/dict/dict0dict.c:
  Remove unnecessary prototypes for static functions
  dict_tables_have_same_db(): Remove length limitation
  dict_remove_db_name(): Use strchr()
  dict_get_db_name_len(): Use strchr()
  Replace mem_heap_alloc()+strlen()+memcpy() with mem_heap_strdup()
  Remove unnecessary strlen() calls
  Allocate space dynamically for generated strings
  dict_scan_id(): allow quotes within quoted strings
innobase/dict/dict0load.c:
  Remove unnecessary strlen() calls
  Replace mem_heap_alloc()+strlen()+memcpy() with mem_heap_strdup()
innobase/dict/dict0mem.c:
  Replace mem_heap_alloc()+strlen()+memcpy() with mem_heap_strdup()
innobase/eval/eval0eval.c:
  Make TO_CHAR() work with any machine word width
innobase/fil/fil0fil.c:
  Replace mem_alloc()+strlen()+strcpy() with mem_strdup()
innobase/ibuf/ibuf0ibuf.c:
  Make some global variables static
  Add #ifdef UNIV_IBUF_DEBUG around debug statements
innobase/include/data0data.h:
  Add #ifdef UNIV_DEBUG around dtuple_validate()
innobase/include/data0data.ic:
  Replace = with == in ut_ad(tuple->magic_n == DATA_TUPLE_MAGIC_N)
innobase/include/dict0dict.h:
  Add const qualifiers
innobase/include/lock0lock.h:
  Add UL suffixes to unsigned long masks
innobase/include/log0log.h:
  Remove unused parameter "type" of log_group_write_buf()
innobase/include/mem0mem.h:
  Add mem_strdup(), mem_strdupl(), mem_strdupq(), mem_heap_strdup(),
  and mem_heap_strdupl()
innobase/include/mem0mem.ic:
  Add mem_strdup(), mem_strdupl(), mem_strdupq(), mem_heap_strdup(),
  and mem_heap_strdupl()
innobase/include/row0uins.h:
  Remove unused parameter "thr" of row_undo_ins()
innobase/include/row0undo.h:
  Remvoe unused parameter "thr" of row_undo_search_clust_to_pcur()
innobase/include/ut0byte.h:
  Add const qualifier to ut_cpy_in_lower_case()
  Remove parameter "len" of ut_cmp_in_lower_case()
innobase/include/ut0mem.h:
  Add ut_strlenq(), ut_strcpyq() and ut_memcpyq()
innobase/include/ut0mem.ic:
  Add ut_strlenq()
innobase/include/ut0ut.h:
  Declare ut_sprintf() as a printf-style function
innobase/lock/lock0lock.c:
  lock_clust_rec_modify_check_and_lock(): Remove unused variable "trx"
innobase/log/log0log.c:
  Remove unused parameters
innobase/log/log0recv.c:
  Remove parameter "type" from log_group_write_buf()
innobase/mem/mem0mem.c:
  Simplify the initialization of block->init_block
innobase/mtr/mtr0log.c:
  Add a debug assertion to mlog_parse_initial_log_record()
innobase/page/page0cur.c:
  Add debug assertion to page_cur_insert_rec_write_log()
  Remove hard-coded buffer size in page_cur_parse_insert_rec()
innobase/page/page0page.c:
  Remove unneeded variable rec
innobase/pars/pars0opt.c:
  Correct a potential buffer overflow
innobase/pars/pars0pars.c:
  Replace mem_heap_alloc()+strlen()+memcpy() with mem_heap_strdup()
innobase/row/row0ins.c:
  Replace parameter "thr" with "trx" in row_ins_foreign_report_add_err()
  Remove unnecessary strlen() call
  Use strchr()
innobase/row/row0mysql.c:
  Add row_mysql_is_recovered_tmp_table()
  Add row_mysql_is_system_table()
  Compare reserved table names with exact match
  Use strstr() and strchr() and mem_strdupl()
  Compute space needed for generated SQL, and allocate it dynamically
innobase/row/row0purge.c:
  Remove unused parameters "thr"
innobase/row/row0row.c:
  Simplify row_get_clust_rec()
innobase/row/row0uins.c:
  Remove unused parameters "thr"
innobase/row/row0umod.c:
  Remove unused variable "index"
  row_undo_mod_del_unmark_sec_and_undo_update():
   Remove parameter "node" and variable "rec"
  Remove unused parameters "thr"
innobase/row/row0undo.c:
  Remove unused parameters "thr"
innobase/srv/srv0srv.c:
  Replace UT_NOT_USED() with __attribute__((unused))
innobase/srv/srv0start.c:
  Remove unnecessary strlen() calls
  Remove unused parameter "create_new_db" of open_or_create_log_file()
innobase/trx/trx0roll.c:
  Replace mem_alloc()+strlen()+memcpy() with mem_strdup()
innobase/trx/trx0sys.c:
  Remove unnecessary strlen() call
innobase/ut/ut0byte.c:
  Add const qualifier to ut_cpy_in_lower_case()
  Remove parameter "len" of ut_cmp_in_lower_case()
innobase/ut/ut0mem.c:
  Add ut_strlenq() and ut_memcpyq()
sql/ha_innodb.cc:
  Remove parameter "len" of ut_cmp_in_lower_case()
2004-04-01 16:51:34 +03:00
unknown
3e15849bc8 Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.0
into sinisa.nasamreza.org:/mnt/work/mysql-4.0
2004-03-30 13:52:53 +03:00
unknown
7be9b15a2a A fix for the error message when database can not be dropped due to
the extra files being present.
2004-03-30 13:50:00 +03:00
unknown
04e879e7ae some cleanup of last patch for BUG #2342
mysql-test/t/bdb-crash.test:
  added newline
sql/ha_berkeley.cc:
  added a commet
2004-03-27 02:37:05 +04:00
unknown
2e3950b20d Merge vvagin@bk-internal.mysql.com:/home/bk/mysql-4.0
into eagle.mysql.r18.ru:/home/vva/work/BUG_2342/mysql-4.0
2004-03-27 00:41:48 +04:00
unknown
aab1e50e71 fixed bug #2342
"Running ANALYZE TABLE on bdb table inside a transaction hangs server thread"

1. added new status HA_ADMIN_REJECT and processing of it in mysql_admin_table
2. got ha_berkley::analyze to return HA_ADMIN_REJECT if there are any 
 transactions with the table.. 


mysql-test/r/bdb-crash.result:
  added test for bug #2342 
  "Running ANALYZE TABLE on bdb table inside a transaction hangs server thread"
mysql-test/t/bdb-crash.test:
  added test for bug #2342 
  "Running ANALYZE TABLE on bdb table inside a transaction hangs server thread"
sql/ha_berkeley.cc:
  fixed bug #2342 
  "Running ANALYZE TABLE on bdb table inside a transaction hangs server thread"
  
  we have to return new status "HA_ADMIN_REJECT" for ha_berkley::analyze 
  if there are any transaction for this table 
  so as bdb documentation says:
  "The DB->stat method cannot be transaction protected"
sql/handler.h:
  added new status of table info "HA_ADMIN_REJECT"
  
  We have to return this status for bdb tables which 
  have any active transactions so as bdb-documentation says:
  "The DB->stat method cannot be transaction-protected"
sql/sql_table.cc:
  added processing of the new status HA_ADMIN_REJECT in mysql_admin_table
  (reason to add this status is explained in comment 
  for commit on sql/handler.h)
2004-03-27 00:35:45 +04:00
unknown
13e6d00840 Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.0
into sinisa.nasamreza.org:/mnt/work/mysql-4.0
2004-03-26 17:01:55 +02:00
unknown
9cc7549518 order_by.result:
result of the test case for FORCE INDEX on ORDER BY
order_by.test:
  test case for FORCE INDEX on ORDER BY
sql_select.cc:
  Changing behaviour that MySQL server takes FORCE INDEX clause into account when optimising ORDER BY clause


sql/sql_select.cc:
  Changing behaviour that MySQL server takes FORCE INDEX clause into account when optimising ORDER BY clause
mysql-test/t/order_by.test:
  test case for FORCE INDEX on ORDER BY
mysql-test/r/order_by.result:
  result of the test case for FORCE INDEX on ORDER BY
2004-03-26 17:01:13 +02:00
unknown
8a6ae8395d Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.0
into sanja.is.com.ua:/home/bell/mysql/bk/work-qc-4.0
2004-03-26 10:53:13 +02:00
unknown
7f0a632c19 merge with 3.23
BitKeeper/etc/logging_ok:
  auto-union
scripts/mysqlbug.sh:
  Auto merged
sql/sql_parse.cc:
  Auto merged
mysql-test/t/alter_table.test:
  Merge code with 3.23
sql/nt_servc.cc:
  use original code
2004-03-25 22:05:09 +02:00
unknown
143e585a7f Improved test case
service backport from 4.0


mysql-test/t/alter_table.test:
  Improved test case
sql/nt_servc.cc:
  service backport from 4.0
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-03-25 21:52:25 +02:00
unknown
1744d26c95 used right table for grants check (BUG#3270)
mysql-test/t/alter_table.test:
  test for BUG#3270 added
2004-03-23 17:15:20 +02:00
unknown
1208e5c8d8 Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.0
into sinisa.nasamreza.org:/mnt/work/mysql-4.0
2004-03-22 16:36:27 +02:00
unknown
bb9584fdab union.result:
A test case for the bug  that allowed table names to be used in ORDER BY columns (But #3064)
union.test:
  A test case for the bug  that allowed table names to be used in ORDER BY columns (But #3064)
sql_union.cc:
  A fix for a bug that allowed table names to be used in ORDER BY columns (But #3064)


sql/sql_union.cc:
  A fix for a bug that allowed table names to be used in ORDER BY columns (But #3064)
mysql-test/t/union.test:
  A test case for the bug  that allowed table names to be used in ORDER BY columns (But #3064)
mysql-test/r/union.result:
   A test case for the bug  that allowed table names to be used in ORDER BY columns (But #3064)
2004-03-22 16:35:15 +02:00
unknown
91bac76e03 fixed BUG in query cahe statistic counting
mysql-test/r/grant_cache.result:
  right results in query cache
mysql-test/t/grant_cache.test:
  proving new results
sql/sql_cache.cc:
  fixed statistic calculating in query cahe
2004-03-21 11:48:51 +02:00
unknown
331ff0d8f5 Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0
2004-03-20 15:49:55 +01:00
unknown
02d2d70cb1 The automatic DROP TEMPORARY TABLE is now DROP TEMPORARY TABLE IF EXISTS,
this is better in this case:
- imagine user1 has created a temp table
- imagine user2 does FLUSH TABLES WITH READ LOCK, then takes a backup,
then RESET MASTER then UNLOCK TABLES, like mysqldump --first-slave
- then in the binlog you will finally have the DROP TEMPORARY TABLE,
but not the CREATE TEMPORARY TABLE, so when you later restore with
mysqlbinlog|mysql, mysql will complain that table does not exist.
Replication was already protected of this (it processes DROP TEMPORARY
TABLE as if there was a IF EXISTS), now I add it directly to the query
for mysqlbinlog|mysql to work.


mysql-test/r/drop_temp_table.result:
  result update (query changed)
2004-03-20 15:49:17 +01:00
unknown
c6a0599642 WL #1510 "Implement support for "commercial" binaries on handshake",
client library:
- implemented 'check_license' function


include/errmsg.h:
  WL #1510: new error code
include/mysql_version.h.in:
  WL #1510: fallback define for LICENSE
libmysql/errmsg.c:
  WL #1510: error message to print in case when client and server license 
  mismatch.
libmysql/libmysql.c:
  WL#1510: implementation of 'check_license' function
sql/set_var.cc:
  removed unused variable 'license'
2004-03-17 20:04:50 +03:00
unknown
8b623739ef Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0
2004-03-17 10:35:55 +01:00
unknown
9d78adc16f Fix for BUG#2922 "Crash (signal11) after "load data from master""
with a testcase.
We needed to init_master_info before we flush_master_info
in LOAD DATA FROM MASTER.


mysql-test/r/rpl000009.result:
  result update
mysql-test/t/rpl000009.test:
  adding a test for RESET SLAVE + LOAD DATA FROM MASTER
sql/repl_failsafe.cc:
  LOAD DATA FROM MASTER udpates the master info in the slave,
  so needs to ensure that it is properly inited first
  (otherwise, after RESET SLAVE, we are flush_io_cache()ing
  an uninitialized IO_CACHE master.info).
  Note that it master info is already inited (active_mi->inited==1),
  init_master_info() will do nothing, which is what we want.
2004-03-17 10:35:03 +01:00
unknown
cc5b1779c8 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-4.0
into gluh.mysql.r18.ru:/home/gluh/Bugs/mysql-4.0.3067
2004-03-16 11:33:36 +04:00
unknown
5adbc611dd Fix for bug #2629 NULLIF() doesn't behave as described in manual 2004-03-16 11:33:03 +04:00
unknown
8f59091a71 Fixes to newly pushed code 2004-03-12 15:56:28 +02:00
unknown
de448d41c0 Merge vvagin@bk-internal.mysql.com:/home/bk/mysql-4.0
into eagle.mysql.r18.ru:/home/vva/work/BUG_2985/mysql-4.0


sql/sql_db.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/table.cc:
  Auto merged
2004-03-12 17:56:27 +04:00
unknown
7430fc2e14 extra correction of check_db_name, check_table_name and check_column_name 2004-03-12 17:55:33 +04:00
unknown
f85032f16e Portability fixes & fixing of test suite
mysql-test/r/func_math.result:
  Updated tests after merge with 3.23
mysql-test/r/multi_update.result:
  Fixed not portable test
mysql-test/r/mysqlbinlog.result:
  Fixed test after push without doing 'make test'
mysql-test/t/multi_update.test:
  Fixed not portable test
sql/sql_parse.cc:
  Don't use static inline, as this is not portable
2004-03-12 09:15:08 +02:00
unknown
965158f28f Merge
mysql-test/install_test_db.sh:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
mysql-test/mysql-test-run.sh:
  SCCS merged
2004-03-12 01:13:04 +02:00
unknown
dd8b25510e Merge with 3.23 to get patch for floor()
BitKeeper/etc/logging_ok:
  auto-union
myisam/mi_check.c:
  Auto merged
mysql-test/r/func_math.result:
  Auto merged
mysql-test/t/func_math.test:
  Auto merged
sql/item_func.cc:
  Auto merged
2004-03-12 01:12:14 +02:00
unknown
a1d9e1eec4 Ensure that install_test_db.sh script works with both 'make install' and 'make_binary_distribution' layouts
Abort if we can't allocate memory for table cache
Fix bug with multi-update-tables and BDB tables.


extra/replace.c:
  Fix comments
mysql-test/install_test_db.sh:
  Change internal option from -bin to --bin
  Ensure that script works with both 'make install' and 'make_binary_distribution' layouts (Bug #3031)
mysql-test/mysql-test-run.sh:
  Change internal option from -bin to --bin
sql/ha_berkeley.cc:
  More debug
sql/mysql_priv.h:
  Change table_cache_init to return error
sql/mysqld.cc:
  Abort if we can't allocate memory for table cache. (Bug #3085)
  Enable warnings by default
sql/sql_base.cc:
  Change table_cache_init to return error
sql/sql_update.cc:
  Fix bug with multi-update-tables and BDB tables. Bug #3098
  Problem was that we didn't initialize BDB for calls to rnd_pos()
2004-03-12 01:10:22 +02:00
unknown
e6f59dd60e Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.0
into sinisa.nasamreza.org:/mnt/work/mysql-4.0
2004-03-11 22:27:17 +02:00
unknown
dc970f9518 multi_update.result:
Test case for a #2996 bug fix
multi_update.test:
  test case for a #2996 bug fix
sql_select.cc:
  Fix for a bug #2996 involving multi-table updates over the const tables


sql/sql_select.cc:
  Fix for a bug #2996 involving multi-table updates over the const tables
mysql-test/t/multi_update.test:
  test case for a #2996 bug fix
mysql-test/r/multi_update.result:
  Test case for a #2996 bug fix
2004-03-11 22:26:03 +02:00
unknown
bd6c4ef400 Fix for BUG#2983 "If statement was killed on master, slave errors despite replicate-wild-ignore-t"
We introduce a new function mysql_test_parse_for_slave().
If the slave sees that the query got a really bad error on master
(killed e.g.), then it calls this function to know if this query
can be ignored because of replicate-*-table rules (do not worry
about replicate-*-db rules: they are checked so early that they have
no bug). If the answer is yes, it skips the query and continues. If
it's no, then it stops and say "fix your slave data manually" (like it
did before this change).


mysql-test/r/rpl_error_ignored_table.result:
  result update
mysql-test/t/rpl_error_ignored_table-slave.opt:
  ignore more tables
mysql-test/t/rpl_error_ignored_table.test:
  we test if a killed query on the master, is ignored on the slave
  if the tables it involves should be excluded because of replicate-*-table
  rules.
sql/log_event.cc:
  If the query got a really bad error on the master (thread killed etc),
  parse it to test the table names: if the replicate-*-do|ignore-table
  rules say "this query must be ignored" then we exit gracefully;
  otherwise we warn about the bad error and tell DBA to check/fix it.
  Before this change, we always warned and stopped.
sql/mysql_priv.h:
  new function
sql/slave.cc:
  don't print error immediately as we need to do one more test to
  be sure.
sql/sql_parse.cc:
  we add a function mysql_test_parse_for_slave(), to be used only
  by the slave if it wants to know if the query should be ignored or not;
  so this function only parses the query, does not execute it.
2004-03-11 17:38:19 +01:00
unknown
b1e0a38f18 Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0


sql/set_var.cc:
  Auto merged
2004-03-11 16:24:47 +01:00
unknown
f808030209 Fix for BUG#2921 "Replication problem on mutex lock in mySQL-4.0.18":
re-using unused LOCK_active_mi to serialize all administrative
commands related to replication:
START SLAVE, STOP SLAVE, RESET SLAVE, CHANGE MASTER, init_slave()
(replication autostart at server startup), end_slave() (replication
autostop at server shutdown), LOAD DATA FROM MASTER.
This protects us against a handful of deadlocks (like BUG#2921
when two START SLAVE, but when two STOP SLAVE too).
Removing unused variables.


sql/item_func.cc:
  We don't need LOCK_active_mi just to MASTER_POS_WAIT().
sql/repl_failsafe.cc:
  no need for macro
sql/set_var.cc:
  no need for macro
sql/slave.cc:
  Re-using unused LOCK_active_mi to serialize all administrative
  commands related to replication:
  START SLAVE, STOP SLAVE, RESET SLAVE, CHANGE MASTER, init_slave()
  (replication autostart at server startup), end_slave() (replication
  autostop at server shutdown), LOAD DATA FROM MASTER.
  This protects us against a handful of deadlocks.
  Removing unused variables.
sql/slave.h:
  Re-using LOCK_active_mi to serialize administrative replication commands.
  Macros unneeded. Removing unneeded variables.
sql/sql_parse.cc:
  found unused variable.
  Replacing macros.
sql/sql_show.cc:
  replacing macros
2004-03-11 16:23:35 +01:00
unknown
24f85213cd Small fixes.
client/mysqlbinlog.cc:
  Patched patch for Bug#2491.
sql/set_var.cc:
  Added max_insert_delayed_threads into 'SHOW VARIABLES'.
2004-03-11 15:41:07 +02:00
unknown
c6d91e00bb Backporting parts of
ChangeSet 1.1620.12.1 and ChangeSet 1.1625.2.1
from 4.1. This makes the slave I/O thread flush the relay log 
after every event, which provides additional safety in case
of brutal crash (reduces chances to lose a part of the relay log).


sql/repl_failsafe.cc:
  update for new prototype
sql/slave.cc:
  The slave I/O thread now flushes the relay log after writing
  every event to it, like we already do in 4.1.
sql/slave.h:
  new prototype
sql/sql_repl.cc:
  update for new prototype
2004-03-10 16:56:28 +01:00
unknown
843d6df523 Undoing 2 parts of changeset 1.1730.1.1 :
- the one about BUG#2921
- the one about relay log flushing
Both will be rewritten in a next changeset
(this one will not be pushed before the next changeset).


sql/log.cc:
  undo
sql/log_event.cc:
  undo
sql/repl_failsafe.cc:
  undo
sql/slave.cc:
  undo
sql/slave.h:
  undo
sql/sql_repl.cc:
  undo
2004-03-10 16:30:47 +01:00
unknown
b2147e2563 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/my/mysql-4.0


sql/log_event.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
2004-03-10 13:48:41 +02:00