Commit graph

122 commits

Author SHA1 Message Date
unknown
c00c89af7f Updating the headers on a few files to include GPL header.
sql/repl_failsafe.cc:
  Removed reference to old maintainer.
sql/repl_failsafe.h:
  Added license header.
sql/slave.h:
  Added license header.
sql/sql_repl.cc:
  Removed old maintainer.
sql/sql_repl.h:
  Added license header
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-09-08 18:26:19 -07: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
221397cdbe Fixed memory leak in DROP DATABASE when using RAID tables (Bug #2882)
BUILD/compile-pentium-debug-max:
  Added --with-raid
configure.in:
  Removed -DFN_NO_CASE_SENCE for Mac OS X as this is not always true
mysql-test/install_test_db.sh:
  Added --skip-warnings
mysql-test/mysql-test-run.sh:
  Fixes to get --gdb and --ddd to work
mysql-test/r/lowercase_table2.result:
  Test for lower_case_table_names=2 and temporary tables
mysql-test/r/lowercase_table3.result:
  Fixed error message
mysql-test/r/multi_update.result:
  Test of behaviour of multi-table-delete and alias
mysql-test/t/lowercase_table2.test:
  Test for lower_case_table_names=2 and temporary tables
mysql-test/t/lowercase_table3.test:
  Fixed error
mysql-test/t/multi_update.test:
  Test of behaviour of multi-table-delete and alias (Bug #2940)
mysys/mf_iocache.c:
  Renamed _flush_io_cache to my_b_flush_io_cache
sql/ha_myisam.cc:
  Added comment
sql/lock.cc:
  Extra debugging
sql/log.cc:
  New parameter to flush_relay_log_info
sql/log_event.cc:
  New parameter to flush_relay_log_info
sql/mf_iocache.cc:
  Removed not used header files
sql/mysqld.cc:
  More debugging info
  Less warnings when run with --skip-warnings
sql/opt_range.cc:
  More debug information
sql/repl_failsafe.cc:
  New parameter to flush_relay_log_info
sql/slave.cc:
  First start SQL thread, then start IO thread. This fixed a raze condition in SLAVE START (Bug #2921)
  Ensure that we have a lock on the IO thread before flushing a relay log file that. The original code could core dump when a relay log rotated.
sql/slave.h:
  New parameter to flush_relay_log_info
sql/sql_base.cc:
  Added warning
sql/sql_handler.cc:
  Indentation fix
sql/sql_repl.cc:
  New parameter to flush_relay_log_info
sql/sql_select.cc:
  Fixed problem with deleting temporary tables when using lower_case_table_names=2. (Bug #2858)
sql/sql_table.cc:
  Fixed comment
sql/sql_yacc.yy:
  Removed compiler warning
include/my_sys.h:
  Fixed usage of unpack_filename
mysys/mf_pack.c:
  Changed unpack_filename() to return length of result string.
mysys/test_fn.c:
  Fixed usage of unpack_filename
sql/sql_db.cc:
  Fixed memory leak with raid tables
sql/table.cc:
  Fixed usage of unpack_filename
2004-03-10 13:46:11 +02:00
unknown
80649ee874 Fix for BUG#1870
"CHANGE MASTER makes SQL thread restart from coordinates of I/O thread".
    So, in CHANGE MASTER:
    when it seems reasonable that the user did not want to discontinue
    its replication (i.e. when he is not specifying host or port or master_log_file
    or master_log_pos; this will be documented), set the coordinates of the
    I/O thread to those of the SQL thread. This way, the SQL thread will see
    no discontinuity in the relay log (i.e. will skip no events), because
    the I/O thread will fill the brand new relay log with the events which
    are just after the position where the SQL thread had stopped
    (before CHANGE MASTER was issued).
    And a new test for this bug.


mysql-test/r/rpl_loaddata.result:
  Now, after CHANGE MASTER the coordinates of the I/O thread are the last ones of the SQL thread, so result update.
sql/sql_repl.cc:
  Fix for BUG#1870
  "CHANGE MASTER makes SQL thread restart from coordinates of I/O thread".
  So, in CHANGE MASTER:
  when it seems reasonable that the user did not want to discontinue
  its replication (i.e. when he is not specifying host or port or master_log_file
  or master_log_pos; this will be documented), set the coordinates of the
  I/O thread to those of the SQL thread. This way, the SQL thread will see
  no discontinuity in the relay log (i.e. will skip no events), because
  the I/O thread will fill the brand new relay log with the events which
  are just after the position where the SQL thread had stopped
  (before CHANGE MASTER was issued).
2003-11-18 17:31:17 +01:00
unknown
c47ee56915 Clearer states in SHOW PROCESSLIST for replication threads.
For example the Binlog_dump thread (on the master) sometimes showed "Slave:".
And there were confusing messages where "binlog" was employed instead
of "relay log".


sql/log.cc:
  MYSQL_LOG::wait_for_update() is used by the binlog_dump and I/Oslave threads,
  and it updates thd->proc_info, so we need a bool to not show the same
  proc_info for 2 different things (previously we showed "Slave: etc" and that's
  bad for a binlog_dump thread).
sql/slave.cc:
  Clearer thd-proc_info for slave threads.
sql/sql_class.h:
  prototype change
sql/sql_repl.cc:
  clearer thd->proc_info for binlog_dump thread
2003-08-25 14:13:58 +02:00
unknown
1542fffb34 First commit for fixing BUG#1100
"LOAD DATA INFILE is badly filtered by binlog-*-db rules".
There will probably be a second final one to merge Dmitri's changes
to rpl_log.result and mine.
2 new tests:
rpl_loaddata_rule_m : test of logging of LOAD DATA INFILE when the master has binlog-*-db rules,
rpl_loaddata_rule_s : test of logging of LOAD DATA INFILE when the slave has binlog-*-db rules and --log-slave-updates.


mysql-test/r/rpl_loaddata.result:
  Test that logging of LOAD DATA INFILE is done on the slave
mysql-test/t/rpl_loaddata.test:
  Test that logging of LOAD DATA is done on the slave
sql/log.cc:
  debug info
sql/log_event.cc:
  * Append_block, Exec_load and Delete_file now have a member 'db' like Create_file.
  This member is filled by mysql_load(). It is used for filtering by binlog-*-db rules,
  that's all. It's not written to the binlog, and so can't be read from the binlog.
  In other words, that's temporary info which is stored in the event and lost when
  it is written and deleted.
  * Better error messages in Append_block et al. events.
  * The slave now logs (log-slave-updates) the Create_file et al. events in mysql_load()
  (they are not directly copied from the events in the relay log, because this
  prevented filtering by binlog-*-db rules). Before, mysql_load() in the slave
  did no logging, now it does the logging, as in any regular thread.
sql/log_event.h:
  New member 'db' for Append_block et al. events.
sql/slave.cc:
  Removed useless code. Why was it useless:
  - CREATE_FILE_EVENT is not defined in 3.23. It appeared in 4.0.
  - in queue_old_event(), which is called only if the master is 3.23, we had a
  case CREATE_FILE_EVENT:
  so this case can be removed.
  - this case was the only caller of process_io_create_file() so this function
  can be removed.
sql/sql_load.cc:
  Pass the db to events, so that they can be well filtered.
sql/sql_repl.cc:
  Pass the db to events so that they can be well filtered.
2003-08-20 23:24:45 +02:00
unknown
d8df84aa43 2 bugfixes:
- Bug #985: "Between RESET SLAVE and START SLAVE, SHOW SLAVE STATUS is wrong."
Now RESET SLAVE puts correct info in mi->host etc. A new test rpl_reset_slave
for that.
- Bug #986: "CHANGE MASTER & START SLAVE do not reset error columns in SHOW
SLAVE STATUS". Now these reset the errors.


mysql-test/r/rpl_loaddata.result:
  result update.
mysql-test/t/rpl_loaddata.test:
  Test that RESET SLAVE, START SLAVE and CHANGE MASTER all reset 
  Last_slave_error and Last_slave_errno (columns of SHOW SLAVE STATUS).
  We do it in this test because that's one of tests which have 
  an intentional query error on the slave.
sql/slave.cc:
  As we need TWICE the code to copy command-line options (--master-host etc)
  to mi (we already had it in init_master_info, but we also need it in RESET
  SLAVE to fix bug#985), I make a function of this code.
  And a function to reset Last_slave_error and Last_slave_errno (we need
  it in CHANGE MASTER, RESET SLAVE, and at the start of the SQL thread).
sql/slave.h:
  declarations for new functions.
sql/sql_repl.cc:
  copy --master-host etc to mi in RESET SLAVE, so that SHOW SLAVE STATUS
  shows correct information.
2003-08-04 10:59:44 +02:00
unknown
14d9a2e5e7 Fix for BUG#858 "CHANGE MASTER forgets to update relay-log.info";
just a flush_relay_log_info() at the end of CHANGE MASTER
(there was already flush_master_info()).


sql/sql_repl.cc:
  Comments.
  Flush relay-log.info after CHANGE MASTER, or the changes
  to the relay log parameters (relay log name and position, and
  the corresponding master's binlog name and position) will be
  lost if the slave mysqld is shutdown immediately after the 
  CHANGE MASTER (without the slave threads being started).
2003-07-24 22:29:09 +02:00
unknown
e1a3069603 Safety and speedup fixes:
Changed is_open() to work as before.
Added back inited argument to LOG


mysql-test/r/rpl_flush_log_loop.result:
  Fixed results (probably bug in previous rpatch)
sql/handler.cc:
  Changed is_open() to work as before
sql/item_func.cc:
  Changed is_open() to work as before
sql/log.cc:
  Part revert of previous patch.
  The reason for adding back 'inited' is that is that we can't be 100 % sure that init_pthread_objects() is called before mysqld dies (for example on windows)
  I removed mutex lock handling in is_open() as the new code didn't have ANY affect except beeing slower.
  Added back checking of is_open() to some functions as we don't want to do a mutex lock when we are not using logging.
  Indentation/comment fixes
sql/log_event.cc:
  Changed is_open() to work as before
sql/repl_failsafe.cc:
  Changed is_open() to work as before
sql/sql_base.cc:
  Changed is_open() to work as before
sql/sql_class.h:
  Changed is_open() to work as before. Added back 'inited' variable
sql/sql_db.cc:
  Changed is_open() to work as before
sql/sql_delete.cc:
  Changed is_open() to work as before
sql/sql_insert.cc:
  Changed is_open() to work as before
sql/sql_load.cc:
  Changed is_open() to work as before
sql/sql_parse.cc:
  Changed is_open() to work as before
sql/sql_rename.cc:
  Changed is_open() to work as before
sql/sql_repl.cc:
  Changed is_open() to work as before
sql/sql_table.cc:
  Changed is_open() to work as before
sql/sql_update.cc:
  Changed is_open() to work as before
2003-07-14 10:12:05 +03:00
unknown
9480ec8289 Cleaning after removing LOG_INFO_PURGE_NO_ROTATE.
sql/sql_repl.cc:
  In my previous change I removed 'no_rotate' from MYSQL_LOG, so this made
  LOG_INFO_PURGE_NO_ROTATE useless (an error code which was never returned),
  so I remove it of the 'switch'.
2003-07-12 16:04:42 +02:00
unknown
d974959b4f Fix for BUG#791:
a safer way of initing the mutexes in MYSQL_LOG.
is_open() is now always thread-safe.
See each file for details.


sql/handler.cc:
  is_open() with locks
sql/item_func.cc:
  is_open() with locks
sql/log.cc:
  No more 'inited'.
  We now always use is_open() in a thread-safe manner.
  This simplifies some functions (no more need to test is_open() twice).
sql/log_event.cc:
  is_open() with locks
sql/mysqld.cc:
  Init mutexes for the global MYSQL_LOG objects.
  We care about no_rotate, because we can't do it in open() anymore (because
  we don't have 'inited' anymore).
sql/repl_failsafe.cc:
  is_open() with locks
sql/slave.cc:
  init pthread objects (mutexes, conds) in the constructor of st_relay_log_info.
  Some better locking in rotate_relay_log().
sql/sql_base.cc:
  is_open() with locks
sql/sql_class.h:
  Before, we inited LOCK_log in MYSQL_LOG::open(), so in other places of the code
  when we were never 100% sure that it had been inited. For example, if the server
  was running without --log-bin, ::open() was not called so the mutex was not
  inited. We could detect it with !inited, but not safely as 'inited' was not
  protected by any mutex.
  So now:
  we *always* init the LOCK_log mutex, even if the log is not used. We can't init
  the mutex in MYSQL_LOG's constructor, because for global objects like
  mysql_bin_log, mysql_log etc, the constructor is called before MY_INIT(), but
  safe_mutex depends on MY_INIT(). So we have a new function MYSQL_LOG::init_pthread_objects
  which we call in main(), after MY_INIT().
  For the relay log, we call this function in the constructor of
  st_relay_log_info, which is called before any function tries to
  use the relay log (the relay log is always invoked as rli.relay_log).
  So now we should be safe in all cases and we don't need 'inited'.
sql/sql_db.cc:
  is_open() with locks
sql/sql_delete.cc:
  is_open() with locks
sql/sql_insert.cc:
  is_open() with locks
sql/sql_load.cc:
  is_open() with locks
sql/sql_parse.cc:
  is_open() with locks
sql/sql_rename.cc:
  is_open() with locks
sql/sql_repl.cc:
  is_open() with locks
sql/sql_table.cc:
  is_open() with locks
sql/sql_update.cc:
  is_open() with locks
2003-07-11 14:26:44 +02:00
unknown
2d5d754c8c Status query on killed mysql connection results in segmentation fault (Bug #738)
Added MAX_PASSWORD_LENGTH. This increased master-slave passwords to 32 bytes (Bug #766)
Fixed server crash on purge master logs or show master logs when binlog is off. (Bug #733)


client/mysql.cc:
  status query on killed mysql connection results in segmentation fault (Bug #738)
configure.in:
  Portability fix for Unixware
include/my_global.h:
  Removed wrong patch from previous changeset
sql/mysql_priv.h:
  Added MAX_PASSWORD_LENGTH. This increased master-slave passwords to 32 bytes
sql/slave.h:
  Optimized structure
sql/sql_repl.cc:
  Memory overrun safety fixes (not critical)
  Fixed server crash on purge master logs or show master logs when binlog is off. (Bug #733)
sql/sql_repl.h:
  Fixed to use right define
strings/strmake.c:
  Fixed comment
2003-07-04 03:18:15 +03:00
unknown
e22a31f173 I committed the same changeset in my tree yesterday, but broke the tree since,
so I commit again in a fresh tree.
Fix for bug#763 (Relay_log_space too big by 4 bytes),
plus comments and DBUG_PRINT, and we don't start replication
if --bootstrap.


mysql-test/r/rpl_log.result:
  Result update
mysql-test/r/rpl_log_pos.result:
  Result update
sql/mysqld.cc:
  Don't start replication if in bootstrap mode (bootstrap isn't supposed to have
  several threads).
sql/slave.cc:
  Fix for bug 763 (Relay_log_space too big by 4 bytes).
  A DBUG_PRINT.
sql/sql_acl.cc:
  Replaced a return by DBUG_RETURN (happened to find this reading a debug log).
sql/sql_repl.cc:
  A comment.
2003-07-03 01:08:36 +02:00
unknown
34b4da78bc add comment for BUG 672 2003-07-02 19:08:31 -04:00
unknown
8c113acf96 Merge eagle.mysql.r18.ru:/home/vva/work/mysql.orig/clear/mysql-4.0
into eagle.mysql.r18.ru:/home/vva/work/BUG_672/mysql-4.0


client/mysqlbinlog.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_repl.cc:
  Auto merged
2003-07-02 17:37:23 -04:00
unknown
71373afb5c fixed bug #672
client/mysqlbinlog.cc:
  changed format of eof-packet for protocol 4.1
2003-07-02 16:56:27 -04:00
unknown
68524c81fe Simple code cleanup
mysql-test/r/innodb.result:
  Fixed test case after innodb optimize->analyze fix
mysys/mf_pack.c:
  Added comments
sql/log_event.cc:
  Fixed usage of fn_format()
sql/slave.cc:
  Indentation fixes and comments cleanup
sql/sql_repl.cc:
  Comment cleanup
2003-06-23 20:05:54 +03:00
unknown
f403da4bf2 Fixed cleanup_load_tmpdir() which deleted nothing.
sql/log_event.cc:
  - cleanup_load_tmpdir() did not work at all because it forgot to indicate
  the directory part of the path when calling my_delete().
  - A misplaced R_POS_OFFSET (fortunately this was no bug as this constant is 0).
sql/sql_repl.cc:
  - fix fake_rotate_event() for pos>4G (correction of a change I pushed yesterday).
2003-06-22 14:10:46 +02:00
unknown
5c9b87ce08 Always send a fake Rotate event (this is roughly 70 bytes) when starting binlog_dump.
This way 3.23.58 slaves will always detect a 4.0.14 master (and stop)
immediately. BUG#198.


mysql-test/r/rpl_log.result:
  result update (the relay log now contains a fake Rotate_log_event).
mysql-test/r/rpl_log_pos.result:
  result update (the relay log now contains a fake Rotate_log_event).
2003-06-21 18:10:59 +02:00
unknown
b518744d16 Changed change_master() to use ER_MASTER_INFO (better display).
mysql-test/r/rpl_rotate_logs.result:
  result update
mysql-test/t/rpl_rotate_logs.test:
  comments and test update with the error code
sql/slave.cc:
  A DBUG_PRINT
sql/sql_repl.cc:
  Use ER_MASTER_INFO instead of custom message and zero error code (which display
  badly).
2003-06-17 23:19:38 +02:00
unknown
0880795793 More error messages. This is intended to help debugging; presently I have a
support issue with an unclear message which can have N reasons for appearing.
This should help us know at which point it failed, and get the errno when
my_open was involved (as the reason for the unclear message is often a
permission problem).
RESET SLAVE resets last_error and last_errno in SHOW SLAVE STATUS (without this,
rpl_loaddata.test, which is expected to generate an error in last_error, influenced
rpl_log_pos.test).
A small test update.
Added STOP SLAVE to mysql-test-run to get rid of several stupid error messages
which are printed while the master restarts and the slave attempts/manages to
connect to it and sends it nonsense binlog requests.


mysql-test/mysql-test-run.sh:
  Before running a test, stop slave threads if they exist (if they don't
  the script goes on fine). This also works fine with the manager.
  Before this change, when the master was stopped/restarted (which happened before
  the slave server was stopped/restarted), the slave threads
  noticed the stop (so printed an error message in slave.err), then managed to
  reconnect (to the new master, the one that is running for the _next_ test),
  and this reconnection had time to produce error messages (because, for example,
  the binlog the slave thread was asking had been deleted) before the slave server
  was killed. This change reduces by 10% (40 lines) slave.err in replication tests.
mysql-test/r/rpl000018.result:
  Result update.
mysql-test/t/rpl000018.test:
  This test does "show master logs" so should do "reset master" instead of
  relying on the previous tests.
sql/slave.cc:
  More error messages.
sql/sql_repl.cc:
  More error messages.
  RESET SLAVE resets last_error and last_errno in SHOW SLAVE STATUS.
2003-06-10 23:29:49 +02:00
unknown
6d1081cda2 One-line fix for bug 576 (DBUG_ASSERT failure when using CHANGE MASTER TO RELAY_LOG_POS=4).
Plus a changeset which I had committed but forgot to push (and this changeset is lost on
another computer, so I recreate it here). This changeset is "user-friendly SHOW BINLOG EVENTS
and CHANGE MASTER TO when log positions < 4 are used.


sql/slave.cc:
  fix for bug 576 (DBUG_ASSERT failure when using CHANGE MASTER TO RELAY_LOG_POS=4).
sql/sql_repl.cc:
  User-friendly SHOW BINLOG EVENTS:
  SHOW BINLOG EVENTS FROM 0: currently one gets
      MASTER> show binlog events from 0;
      ERROR 1220: Error when executing command SHOW BINLOG EVENTS: Invalid log position
  so we silently convert <4 to 4.
sql/sql_yacc.yy:
  User-friendly CHANGE MASTER TO:
  presently when one does CHANGE MASTER TO MASTER_LOG_POS=0 he gets
      030425 10:12:41  Slave I/O thread: connected to master 'root@localhost:3306',  r
      eplication started in log 'gbichot-bin.013' at position 151
      030425 10:12:41  Error reading packet from server: Client requested master to st
      art replication from impossible position (server_errno=1236)
      030425 10:12:41  Got fatal error 1236: 'Client requested master to start replica
      tion from impossible position' from master when reading data from binary log
      030425 10:12:41  Slave I/O thread exiting, read up to log 'gbichot-bin.013', pos
      ition 151
      
  while she/he probably just wanted to start at the beginning of the
  binlog, which is 4. So we silently convert <4 to 4 in sql_yacc.yy
  (i.e. in the slave code; fortunately all versions have the same
  BIN_LOG_HEADER_SIZE=4 and we should not change this). See comments
  for an explaination of why we have to do this in sql_yacc.yy,
  not in sql_repl.cc.
  Same thing for CHANGE MASTER TO RELAY_LOG_POS.
sql/unireg.h:
  warning comment
2003-06-03 23:13:06 +02:00
unknown
f22be77734 Fixed problem when comparing a key for a multi-byte-character set. (bug 152)
Use 0x.... as strings if 'new' mode. (bug 152)
Don't report -max on windows when InnoDB is enabled. (bug 332)
Reset current_linfo;  This could cause a hang when doing PURGE LOGS.
Fix for row numbers in EXPLAIN (bug 322)
 Fix that USE_FRM works for all table types (bug 97)


VC++Files/libmysql/libmysql.dsp:
  Added new source files
myisam/mi_key.c:
  Fixed problem when comparing a key for a multi-byte-character set.
myisam/mi_range.c:
  Fixed problem when comparing a key for a multi-byte-character set.
myisam/mi_rkey.c:
  Fixed problem when comparing a key for a multi-byte-character set.
myisam/mi_search.c:
  Fixed problem when comparing a key for a multi-byte-character set.
myisam/mi_test2.c:
  Fixed printf statements
myisam/myisamdef.h:
  Fixed problem when comparing a key for a multi-byte-character set.
myisam/sort.c:
  Fixed printf statements
mysql-test/r/ctype_latin1_de.result:
  New test results
mysql-test/r/join.result:
  New test results
mysql-test/r/repair.result:
  New test results
mysql-test/r/rpl_alter.result:
  New test results
mysql-test/t/ctype_latin1_de-master.opt:
  --new is needed to get 0x... strings to work properly
mysql-test/t/ctype_latin1_de.test:
  New test for latin1_de
mysql-test/t/repair.test:
  Test of USE_FRM and HEAP tables
sql/field.cc:
  Fixed problem when comparing a key for a multi-byte-character set.
sql/item.cc:
  Use 0x.... as strings if 'new' mode
sql/item.h:
  Use 0x.... as strings if 'new' mode
sql/mysqld.cc:
  Don't report -max on windows when InnoDB is enabled.
sql/sql_analyse.cc:
  Removed unused variable
sql/sql_insert.cc:
  Removed debug message
sql/sql_repl.cc:
  Reset current_linfo;  This could cause a hang when doing PURGE LOGS.
sql/sql_select.cc:
  Fix for row numbers in EXPLAIN
sql/sql_table.cc:
  Fix that USE_FRM works for all table types (without strange errors)
sql/sql_yacc.yy:
  Removed compiler warnings.
2003-04-27 22:12:08 +03:00
unknown
40c0b2c6c8 New variable rli->ignore_log_space_limit to resolve
a deadlock between I/O and SQL threads in replication
when relay_log_space is too small. This fixes bug #79.


sql/log.cc:
  New variable rli->ignore_log_space_limit to resolve
  a deadlock between I/O and SQL threads in replication
  when relay_log_space is too small.
sql/slave.cc:
  New variable rli->ignore_log_space_limit to resolve
  a deadlock between I/O and SQL threads in replication
  when relay_log_space is too small.
sql/slave.h:
  New variable rli->ignore_log_space_limit to resolve
  a deadlock between I/O and SQL threads in replication
  when relay_log_space is too small.
sql/sql_repl.cc:
  New variable rli->ignore_log_space_limit to resolve
  a deadlock between I/O and SQL threads in replication
  when relay_log_space is too small.
2003-03-17 22:51:56 +01:00
unknown
2855415058 Replication: small bug fixes in mysql-test-run.sh and in replication code (more reinitializations)
+ fix for #70 
+ test result fix for LOAD DATA LOCAL bug #82


client/mysqltest.c:
  Removed wrong comment and useless sleep
mysql-test/mysql-test-run.sh:
  Fix $slave_datadir variable because this
    if [ -n "$1" ] ; 
     slave_datadir="var/$slave_ident-data/"
    else
      slave_datadir=$SLAVE_MYDDIR
  was not coherent and led to problems of master.info not being deleted.
  Delete relay-log.info too.
mysql-test/r/rpl000001.result:
  SUM is 1022 (1021 was when we had the LOAD DATA LOCAL bug #82).
  It's logical to have an even number as we load the same file twice.
sql/slave.cc:
  When we RESET SLAVE, clear rli->master_log_* to give a good display in SHOW SLAVE STATUS ;
  seeing the old values may confuse the user.
  When we START SLAVE, clear rli->master_log_name, not only rli->master_log_pos.
sql/sql_repl.cc:
  When we RESET SLAVE, clear mi->master_log_* to give a good display in SHOW SLAVE STATUS (bug #70)
2003-03-03 14:57:02 +01:00
unknown
db47e4ca24 Added timeout for wait_for_master_pos
Fixed comparision of log-binary name to handle comparison when file name extension wraps from .999 to .1000
Don't replicate CREATE/DROP DATABASE if wild_xxx_table=database.% is used.


mysql-test/r/rpl000009.result:
  Fixed replication test after fixing replication of DROP/CREATE DATABASE
mysql-test/t/rpl000009.test:
  Fixed replication test after fixing replication of DROP/CREATE DATABASE
sql/item_create.cc:
  Added timeout for wait_for_master_pos
sql/item_create.h:
  Added timeout for wait_for_master_pos
sql/item_func.cc:
  Added timeout for wait_for_master_pos
sql/item_func.h:
  Added timeout for wait_for_master_pos
sql/lex.h:
  Added timeout for wait_for_master_pos
sql/slave.h:
  Added timeout for wait_for_master_pos
  Don't replicate CREATE/DROP DATABASE if wild_xxx_table=database.% is used.
sql/sql_parse.cc:
  Don't replicate CREATE/DROP DATABASE if wild_xxx_table=database.% is used.
sql/sql_repl.cc:
  Fixed comparision of log-binary name to handle comparison when file name extension wraps from .999 to .1000
2003-01-25 15:07:51 +02:00
unknown
6a2ce08600 RESET SLAVE and CHANGE MASTER will now give an error if slave is running.
This fixes a problem in replication where RESET SLAVE could crash a running slave.


mysql-test/r/rpl_failsafe.result:
  Added missing drop
mysql-test/r/rpl_log_pos.result:
  Added slave stop before change master
mysql-test/t/rpl_log_pos.test:
  Added slave stop before change master
sql/sql_parse.cc:
  reset_slave() sends it's own errors
sql/sql_repl.cc:
  reset_slave() sends it own error.
  RESET SLAVE and CHANGE MASTER will now give an error if slave is running.
  This fixes a problem in replication where RESET SLAVE could crash a running slave.
2002-12-13 12:05:24 +02:00
unknown
3648eb7da8 Portability fix when using -DBIG_TABLES
BitKeeper/etc/config:
  Changed Sasha to sys
client/mysqlbinlog.cc:
  Fixed that --position open works.
sql/item_timefunc.cc:
  Portability fix
sql/log_event.cc:
  Portability fix
sql/set_var.cc:
  Portability fix
2002-11-14 12:21:36 +02:00
unknown
72413e7f81 Put temporary files in binlog cache when using BEGIN/COMMIT
Let MySQL 4.0 read 4.1 .frm files without 4.1 specific extensions
New variables @@rand_seed1 and @@rand_seed2 (used by replication)
DROP TEMPORARY TABLE


mysql-test/r/rpl_log.result:
  Update of results after last replication change
mysql-test/r/variables.result:
  Test of new variables @@rand_seed1 and @@rand_seed2
mysql-test/t/variables.test:
  Test of new variables @@rand_seed1 and @@rand_seed2
sql/field.cc:
  Let MySQL 4.0 read 4.1 .frm files without 4.1 specific extensions
sql/field.h:
  Let MySQL 4.0 read 4.1 .frm files without 4.1 specific extensions
sql/item_func.cc:
  Put temporary files in binlog cache when using BEGIN/COMMIT
sql/log.cc:
  Put temporary files in binlog cache when using BEGIN/COMMIT
  More debug information
sql/log_event.cc:
  Put temporary files in binlog cache when using BEGIN/COMMIT
sql/log_event.h:
  Put temporary files in binlog cache when using BEGIN/COMMIT
sql/set_var.cc:
  Add system variables @@rand_seed1 and @@rand_seed2
sql/set_var.h:
  Add system variables @@rand_seed1 and @@rand_seed2
sql/slave.cc:
  Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_acl.cc:
  Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_base.cc:
  Store DROP of temporary tables in binlog cache
sql/sql_class.h:
  Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_db.cc:
  Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_delete.cc:
  Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_insert.cc:
  Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_lex.h:
  DROP TEMPORARY TABLE
sql/sql_load.cc:
  Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_parse.cc:
  Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_rename.cc:
  Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_repl.cc:
  Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_repl.h:
  Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_table.cc:
  Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_update.cc:
  Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_yacc.yy:
  DROP TEMPORARY
sql/table.cc:
  Let MySQL 4.0 read 4.1 .frm files without 4.1 specific extensions
sql/unireg.cc:
  Let MySQL 4.0 read 4.1 .frm files without 4.1 specific extensions
2002-11-07 04:02:37 +02:00
unknown
8f232cb75f Portability fixes.
Improve mysql-test to be more robust.
Fix that GRANT doesn't delete SSL options
Change innobase_flush_log_at_trx_commit to uint.
Don't rotate logs if we read a rotate log entry from the master.


Docs/manual.texi:
  Changelog
client/mysqlbinlog.cc:
  Handle empty binlogfiles gracefully
client/mysqltest.c:
  Do a sleep after 'sync_with_master'
  Cleaned up sleep() handling.
  Free all memory on exit
configure.in:
  Fix for Mac OS 10.2
include/my_sys.h:
  Added my_strdup_with_length()
innobase/btr/btr0cur.c:
  Fixed wrong printf()
libmysql/libmysql.c:
  Added DBUG_PRINT statements.
  Assume that mysql_...send() functions has correct query length.
mysql-test/mysql-test-run.sh:
  Properly remove log files before starting new tests.
mysql-test/r/grant.result:
  Update for new test results
mysql-test/r/innodb.result:
  Update for new test results
mysql-test/r/myisam.result:
  Update for new test results
mysql-test/r/rpl_log.result:
  Update for new test results
mysql-test/r/rpl_rotate_logs.result:
  Update for new test results
mysql-test/r/variables.result:
  Update for new test results
mysql-test/t/grant.test:
  Test that GRANT doesn't delete SSL options
mysql-test/t/myisam.test:
  Test long key usage
mysql-test/t/rpl_log.test:
  Disable 'show new master'
mysql-test/t/rpl_mystery22.test:
  Longer sleep for more safety.
mysql-test/t/rpl_rotate_logs.test:
  More comments
mysys/my_malloc.c:
  Added my_strdup_with_length()
mysys/safemalloc.c:
  Added my_strdup_with_length()
mysys/thr_alarm.c:
  Fix of alarms for windows.
sql/ha_innodb.cc:
  Change innobase_flush_log_at_trx_commit to uint
mysql-test/r/rpl_redirect.result:
  Updated test results
mysql-test/t/rpl_redirect.test:
  Added more tests to improve code coverage.
sql/ha_innodb.h:
  Change innobase_flush_log_at_trx_commit to uint
sql/item_func.cc:
  Return GLOBAL and SESSION as part of column names
sql/log.cc:
  Only write STOP events when server goes down.
sql/log_event.cc:
  Don't rotate logs if we read a rotate log entry from the master.
sql/log_event.h:
  Change ident_len to uint (more efficient)
sql/mysqld.cc:
  Change innobase_flush_log_at_trx_commit to uint
sql/net_serv.cc:
  More debug output
sql/repl_failsafe.cc:
  More DEBUG
  Search until we find next position in binary log (and not only =)
sql/slave.cc:
  More DBUG & comments
  Don't rotate the binary log on master flush logs
sql/slave.h:
  indentation change
sql/sql_acl.cc:
  Test that GRANT doesn't delete SSL options
sql/sql_parse.cc:
  Disable show_new_master.
sql/sql_repl.cc:
  Chamger show_binlog_events() to use my_error()
sql/sql_table.cc:
  Fixed check for too long keys in MyISAM
sql/sql_udf.cc:
  Fix udf handling
2002-09-11 06:40:08 +03:00
unknown
e4d5597d7e Fixed bug in wait_for_update() that I had introduced.
Changed option variables to my_bool (to avoid bugs in my_getopt())
Added new thread specific mutex LOCK_delete to be able to free LOCK_thread_count early.
Changed usage of LOCK_thread_count -> LOCK_status for statistics variables


libmysqld/lib_sql.cc:
  Removed not needed LOCK
mysql-test/mysql-test-run.sh:
  Log name of running test
mysql-test/r/rpl_sporadic_master.result:
  Cleaned up test
mysql-test/t/rpl_sporadic_master.test:
  cleaned up test
sql/log.cc:
  Cleanup.
  Fixed bug in wait_for_update() that I had introduced.
sql/mini_client.cc:
  Indentation changes.
sql/mysql_priv.h:
  Changed option variables to my_bool.
sql/mysqld.cc:
  Changed option variables to my_bool.
  Removed not used LOCK_server_id
  Minor code cleanups.
sql/repl_failsafe.cc:
  Minor code cleanups
sql/slave.cc:
  Minor code cleanups.
  Fixed usage of wait_for_update().
sql/slave.h:
  Changed option variables to my_bool.
sql/sql_class.cc:
  Added new thread specific mutex LOCK_delete to be able to free LOCK_thread_count early
sql/sql_class.h:
  Added new thread specific mutex LOCK_delete to be able to free LOCK_thread_count early
sql/sql_insert.cc:
  Do broadcast after unlock()
sql/sql_parse.cc:
  Removed not needed LOCK
  Changed usage of LOCK_thread_count -> LOCK_status for statistics variables
  Changed killing of threads to not lock LOCK_thread_count for long.
sql/sql_repl.cc:
  Changed options variables to my_bool
  Fixed usage of wait_for_update()
  Fixed loop to kill slaves to not lock LOCK_thread_count for long.
  Code optimization.
sql/sql_repl.h:
  bool -> my_bool
  Fixed KICK_SLAVE to use LOCK_delete
2002-08-22 16:50:58 +03:00
unknown
87f9ad3724 Use our version of RWLOCKS on UNIXWARE 7
More DBUG info for replication
Better error messages from replication
Fixed bug in replication code when connecting to 'localhost' (time was not released properly)
Block ALARM signal on Linux for signal handler thread (Fixes problem with running mysqld with --debug)
Removed warning when setting an AUTO_INCREMENT field to NULL


Build-tools/Do-compile:
  Always run test with --warnings during build
Docs/manual.texi:
  Changelog
configure.in:
  Use our version of RWLOCKS on UNIXWARE 7
include/my_pthread.h:
  Use our version of RWLOCKS on UNIXWARE 7
include/mysql_version.h.in:
  Fixed warning when compiling embedded server
include/mysqld_error.h:
  New error messages
libmysql/libmysql.c:
  Give connect error message on reconnect if it fails.
  Fixed possible buffer overflow in expand_error()
  Added error messages for some error conditions.
mysql-test/mysql-test-run.sh:
  Portability fixes:
  - Search after 'time' in path.
  - Search after mysqld in libexec
  - Remove end / when doing rm -r (fix for BSD)
  Clean up skip_test handling.
mysql-test/r/rpl_empty_master_crash.result:
  New results
mysql-test/t/rpl_empty_master_crash.test:
  Extended test
mysys/mf_iocache.c:
  Remember file position on failed read.
mysys/mf_iocache2.c:
  Fixed bug in filelength() call.
mysys/thr_alarm.c:
  Made alarm handling more threadsafe when use with DBUG.
mysys/thr_mutex.c:
  More debug info
sql/log_event.cc:
  More DBUG_PRINT statements.
sql/mini_client.cc:
  Better error reporting on failures.
  Return connect error on reconnect failure (instead of SERVER_GONE_ERROR)
  Fixed critical bug in alarm handling on connect (could leave an alarm event on indefinitely)
sql/mysql_priv.h:
  Fixed arguments to mysql_binlog_send()
sql/mysqld.cc:
  Block ALARM signal on Linux for signal handler thread (Fixes problem with running mysqld with --debug)
sql/net_pkg.cc:
  Removed dead code
sql/net_serv.cc:
  Ensure that last_errno is set in net_real_write()
sql/repl_failsafe.cc:
  Code cleanup.
  Better error handling.
sql/share/czech/errmsg.txt:
  New error messages.
sql/share/danish/errmsg.txt:
  New error messages.
sql/share/dutch/errmsg.txt:
  New error messages.
sql/share/english/errmsg.txt:
  New error messages.
sql/share/estonian/errmsg.txt:
  New error messages.
sql/share/french/errmsg.txt:
  New error messages.
sql/share/german/errmsg.txt:
  New error messages.
sql/share/greek/errmsg.txt:
  New error messages.
sql/share/hungarian/errmsg.txt:
  New error messages.
sql/share/italian/errmsg.txt:
  New error messages.
sql/share/japanese/errmsg.txt:
  New error messages.
sql/share/korean/errmsg.txt:
  New error messages.
sql/share/norwegian-ny/errmsg.txt:
  New error messages.
sql/share/norwegian/errmsg.txt:
  New error messages.
sql/share/polish/errmsg.txt:
  New error messages.
sql/share/portuguese/errmsg.txt:
  New error messages.
mysql-test/r/rpl_log_pos.result:
  Updated results
mysql-test/t/rpl_log_pos.test:
  Added 'sleep' commands to make tests repeatable.
sql/share/romanian/errmsg.txt:
  New error messages.
sql/share/russian/errmsg.txt:
  New error messages.
sql/share/slovak/errmsg.txt:
  New error messages.
sql/share/spanish/errmsg.txt:
  New error messages.
sql/share/swedish/errmsg.txt:
  New error messages.
sql/share/ukrainian/errmsg.txt:
  New error messages.
sql/slave.cc:
  Code optimization and cleanup.
  More DBUG statements.
  Better cleanup if start slave fails.
  Better error messages from 'fetch_master_table'
  Thread safer handling of 'wait_for_pos'
sql/slave.h:
  Better handling of wait_for_pos
sql/sql_load.cc:
  Removed warning when setting an AUTO_INCREMENT field to NULL
sql/sql_parse.cc:
  Fixed calling of function that has changed.
sql/sql_repl.cc:
  More DBUG statements
  Give a proper error number from mysql_binlog_send() so that we know when we have to abort slaves.
2002-08-21 22:04:22 +03:00
unknown
457172d992 Fixed timing problem with rpl000001 replication test.
Fixed configure problems with HPUX and openbsd
SHOW SLAVE STATUS returns empty set if slave is not initialized
SHOW MASTER STATUS returns empty set if binary logging is not enabled.
Fixed shutdown problem on Solaris.


BitKeeper/deleted/.del-set_var.cc~5374527de1955359:
  Delete: libmysqld/set_var.cc
BitKeeper/etc/ignore:
  added libmysqld/set_var.cc
Build-tools/Do-compile:
  Remove warnings from touch during compilation
Docs/manual.texi:
  Changelog
client/mysqltest.c:
  Added real_sleep command
configure.in:
  Fixed type for HPUX10
innobase/configure.in:
  Fixed type for openbsd
libmysql/libmysql.c:
  Fix for new SHOW SLAVE STATUS
myisam/mi_update.c:
  Update key file if using external locking
mysql-test/mysql-test-run.sh:
  Safety fix
mysql-test/r/rpl000015.result:
  Update for new SHOW SLAVE STATUS
mysql-test/r/rpl_empty_master_crash.result:
  Update for new SHOW SLAVE STATUS
mysql-test/t/rpl000001.test:
  sleep -> real_sleep to avoid timing problem
sql/mysqld.cc:
  Fixed bug with SIGTERM on Solaris
sql/slave.cc:
  SHOW SLAVE STATUS returns empty sets if slave is not initialized.
sql/sql_repl.cc:
  SHOW MASTER STAT returns empty set if no binary logging.
2002-08-18 16:04:26 +03:00
unknown
f01f49916b Lots of code fixes to the replication code (especially the binary logging and index log file handling)
Fixed bugs in my last changeset that made MySQL hard to compile.
Added mutex around some data that could cause table cache corruptions when using OPTIMIZE TABLE / REPAIR TABLE or automatic repair of MyISAM tables.
Added mutex around some data in the slave start/stop code that could cause THD linked list corruptions
Extended my_chsize() to allow one to specify a filler character.
Extend vio_blocking to return the old state (This made some usage of this function much simpler)
Added testing for some functions that they caller have got the required mutexes before calling the function.
Use setrlimit() to ensure that we can write core file if one specifies --core-file.
Added --slave-compressed-protocol
Made 2 the minimum length for ft_min_word_len
Added variables foreign_key_checks & unique_checks.
Less logging from replication code (if not started with --log-warnings)
Changed that SHOW INNODB STATUS requre the SUPER privilege
More DBUG statements and a lot of new code comments


BitKeeper/deleted/.del-rpl_compat.result~c950bc346b12c61a:
  Delete: mysql-test/r/rpl_compat.result
BitKeeper/deleted/.del-rpl_compat.test~5f6ba955e02aa95f:
  Delete: mysql-test/t/rpl_compat.test
Docs/manual.texi:
  Updated manual with fixes in this changeset
client/mysqltest.c:
  Indentation cleanup
  Better error messages for some error conditions.
include/my_pthread.h:
  Added 'safe_mutex_assert_owner()' to check that the thread really owns the mutex.
include/my_sys.h:
  Extended my_chsize() to allow one to specify a filler character.
  (For MySQL index logs)
include/raid.h:
  New my_chsize()
include/violite.h:
  Extend vio_blocking to return the old state
innobase/include/dyn0dyn.h:
  Merge with 3.23 (AIX DYN_ARRAY_DATA_SIZE)
innobase/include/dyn0dyn.ic:
  Merge with 3.23
isam/create.c:
  Fix for new my_chsize()
isam/isamchk.c:
  Fix for new my_chsize()
isam/pack_isam.c:
  Fix for new my_chsize()
libmysql/manager.c:
  Fix for new vio_blocking()
libmysqld/lib_sql.cc:
  Fix for new open_log()
myisam/mi_cache.c:
  Fix typo from previous checking
myisam/mi_check.c:
  Fix for new my_chsize()
myisam/mi_create.c:
  Fix for new my_chsize()
myisam/mi_delete_all.c:
  Fix for new my_chsize()
myisam/myisampack.c:
  Fix for new my_chsize()
mysql-test/include/master-slave.inc:
  Better initialization for replication tests
mysql-test/mysql-test-run.sh:
  Added option --log-warnings
mysql-test/r/insert.result:
  More tests if INSERT ...(DEFAULT)
mysql-test/r/rpl000001.result:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/r/rpl000002.result:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/r/rpl000003.result:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/r/rpl000004.result:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/r/rpl000005.result:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/r/rpl000006.result:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/r/rpl000007.result:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/r/rpl000008.result:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/r/rpl000009.result:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/r/rpl000010.result:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/r/rpl000011.result:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/r/rpl000012.result:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/r/rpl000013.result:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/r/rpl000014.result:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/r/rpl_alter.result:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/r/rpl_empty_master_crash.result:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/r/rpl_get_lock.result:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/r/rpl_log.result:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/r/rpl_magic.result:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/r/rpl_mystery22.result:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/r/rpl_skip_error.result:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/r/rpl_sporadic_master.result:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/t/insert.test:
  More tests if INSERT ...(DEFAULT)
mysql-test/t/rpl000001.test:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/t/rpl000002.test:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/t/rpl000003.test:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/t/rpl000004.test:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/t/rpl000005.test:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/t/rpl000006.test:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/t/rpl000007.test:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/t/rpl000009.test:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/t/rpl000011.test:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/t/rpl000013.test:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/t/rpl000014.test:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/t/rpl_alter.test:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/t/rpl_empty_master_crash.test:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/t/rpl_get_lock.test:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/t/rpl_magic.test:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/t/rpl_mystery22.test:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/t/rpl_skip_error.test:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysql-test/t/rpl_sporadic_master.test:
  Clean up tests for new master-slave.inc
  Remove 'use database'
mysys/mf_iocache.c:
  More debug info
  Force seek after reinit_io_cache()
mysys/mf_iocache2.c:
  Added my_b_filelength()
mysys/my_chsize.c:
  Extended my_chsize() to allow one to specify a filler character.
  (For MySQL index logs)
mysys/raid.cc:
  Extended my_chsize() to allow one to specify a filler character.
  (For MySQL index logs)
sql/field.h:
  Fix for INSERT ... (DEFAULT)
sql/ha_berkeley.h:
  Fix for dynamic variables
sql/ha_innodb.cc:
  Change sprintf() to my_sprintf() to make code portable.
  Fix after sync with 3.23
  (We still need to fix the storage of the replication position in innodb)
sql/ha_innodb.h:
  Fix for dynamic variables
sql/handler.cc:
  Remove writting of COMMIT to the binary log.
  (Now done in MYSQL_LOG::write())
sql/item_func.cc:
  Query_log_event() now always takes query length.
sql/item_func.h:
  Indentation cleanup
sql/item_strfunc.h:
  Indentation cleanup
sql/item_timefunc.h:
  Indentation cleanup
sql/lock.cc:
  Check that we own critical mutexes.
sql/log.cc:
  Big code cleanup / rewrite / optimize.
  - The index log file has its own IO_CACHE object.
  - Many functions totally rewritten to make them smaller and faster.
  - New handling of index log files
  - Lots of new comments
sql/log_event.cc:
  Code cleanup
  New comments
sql/log_event.h:
  Query_log_event() now always takes query length.
sql/mini_client.cc:
  Better error messages on reconnect.
  Fixed wrong variable usage from last commit.
sql/mysql_priv.h:
  New arguments to open_log()
sql/mysqld.cc:
  Use setrlimit() to ensure that we can write core file if one specifies --core-file
  Added index file name as parameter to openlog().
  Added --slave-compressed-protocol
  Made 2 the minimum length for ft_min_word_len
sql/net_serv.cc:
  Use new vio_blocking()
  (The vio_blocking() change was done to make this code more readable)
sql/repl_failsafe.cc:
  Minor code cleanup
sql/set_var.cc:
  Added variables slave_compressed_protocol, foreign_key_checks & unique_checks.
sql/set_var.h:
  Generalization
sql/slave.cc:
  Code cleanup & rewrite.
  Dont call SELECT VERSION() on check_master_version()
  New init_slave() code.
  Ensure that all threads create a THD early.
  Add locks around manipulation of critical structures
  Don't retry a command more than master_retry_count times.
  Write less warnings to the log file (if not started with --log-warnings)
  Faster flush_relay_log_info()
sql/slave.h:
  More comments
  Added new arguments to some functions.
sql/sql_acl.cc:
  More DBUG info
  New parameter to Query_log_event()
sql/sql_base.cc:
  Added some mutex checking.
sql/sql_cache.cc:
  Less not critical debug info
sql/sql_class.h:
  Fix for new log handling.
sql/sql_db.cc:
  Added mutex around remove_db_from_cache()
sql/sql_delete.cc:
  Added missing parameters to changed functions
sql/sql_insert.cc:
  Added missing parameters to changed functions
sql/sql_parse.cc:
  Do an 'end_active_trans()' before 'load_master_data'
  Changed that SHOW INNODB STATUS requre the SUPER privilege
  Added new function parameters to new functions
sql/sql_rename.cc:
  Added missing parameters to changed functions
sql/sql_repl.cc:
  Code cleanups / new comments
  Fix for new find_first_log() calling standard.
  More DBUG statements.
  Show binlogs updated to use new IO_CACHE:d index log file.
sql/sql_repl.h:
  New function arguments
sql/sql_select.cc:
  Indentation changes
sql/sql_table.cc:
  Added missing parameters to changed functions
  Added checking of mutex
  Added mutex around critical regions.
sql/sql_test.cc:
  Don't use THR_ALARM if the configuration doesn't support it.
sql/sql_update.cc:
  Added missing parameters to changed functions
sql/table.cc:
  Added missing parameters to changed functions
vio/vio.c:
  Extend vio_blocking to return the old state
vio/viosocket.c:
  Extend vio_blocking to return the old state
vio/viossl.c:
  Extend vio_blocking to return the old state
2002-08-08 03:12:02 +03:00
unknown
a8caad316a New SET syntax & system variables.
Made a some new buffers thread specific and changeable.
Resize of key_buffer.
AUTO_COMMIT -> AUTOCOMMIT
Fixed mutex bug in DROP DATABASE
Fixed bug when using auto_increment as second part of a key where first part could include NULL.
Split handler->extra() to extra() and extra_opt() to be able to support thread specific buffers.
Don't write message to error log when slave reconnects becasue of timeout.
Fixed possible update problem when using DELETE/UPDATE on small tables
(In some cases we used index even if table scanning would be better)
A lot of minior code cleanups


BitKeeper/deleted/.del-net.c~ef21d6402bb882f9:
  Delete: libmysql/net.c
BitKeeper/etc/ignore:
  added libmysql/net.c
Docs/manual.texi:
  New SET syntax & system variables.
client/client_priv.h:
  moved order of include files
client/mysql.cc:
  Removed compiler warning
client/mysqladmin.c:
  Use new SHOW GLOBAL syntax (if server supports it)
configure.in:
  version change
include/Makefile.am:
  indentation cleanup
include/my_getopt.h:
  Made some helper functions global
include/my_sys.h:
  Removed not used code
include/myisam.h:
  Added extra argument to ..._extra()
include/myisammrg.h:
  Added extra argument to ..._extra()
include/mysql_com.h:
  changed NET to be able to support changeable system variables
include/mysql_embed.h:
  Added MYSQL_SERVER_SUFFIX
include/mysql_version.h.in:
  Added check of multiple including (needed for embedded library)
include/mysqld_error.h:
  New error messages
innobase/dict/dict0dict.c:
  Remove compiler warnings
innobase/include/ut0mem.h:
  Remove compiler warnings
innobase/include/ut0mem.ic:
  Remove compiler warnings
isam/isamchk.c:
  new init_key_cache() arguments
isam/isamlog.c:
  new init_key_cache() arguments
isam/test2.c:
  new init_key_cache() arguments
isam/test3.c:
  new init_key_cache() arguments
libmysql/Makefile.am:
  Removed net.c (Automaticly make it from net_serv.cc)
libmysql/Makefile.shared:
  Removed net.c (Automaticly make it from net_serv.cc)
libmysql/libmysql.c:
  Changeable system variables
libmysqld/Makefile.am:
  Added set_var.cc file
libmysqld/embedded_priv.h:
  Changed order of include fiels
libmysqld/lib_sql.cc:
  merge with mysqld.cc (for changeable variables)
libmysqld/libmysqld.c:
  New changeable system variables
myisam/mi_check.c:
  Added extra argument to ..._extra()
myisam/mi_extra.c:
  Added extra argument to ..._extra()
myisam/mi_open.c:
  Removed not used variable
myisam/mi_test1.c:
  Changed call to init_key_cache
myisam/mi_test2.c:
  Added extra argument to ..._extra()
myisam/mi_test3.c:
  Added extra argument to ..._extra()
myisam/mi_write.c:
  Add cache size argument to bulk-insert-init
myisam/myisamchk.c:
  Use new key cache
myisam/myisamdef.h:
  new mi_init_bulk_insert() arguments
myisam/myisamlog.c:
  Added extra argument to ..._extra()
myisam/myisampack.c:
  Added extra argument to ..._extra()
myisammrg/myrg_extra.c:
  Added extra argument to ..._extra()
myisammrg/myrg_rrnd.c:
  Added extra argument to ..._extra()
mysql-test/r/insert_select.result:
  New changeable system variables
mysql-test/r/key.result:
  Test of bug in auto_increment
mysql-test/r/query_cache.result:
  New changeable system variables
mysql-test/r/rpl000001.result:
  New changeable system variables
mysql-test/r/rpl000016.result:
  New changeable system variables
mysql-test/r/union.result:
  New changeable system variables
mysql-test/r/user_var.result:
  New changeable system variables
mysql-test/r/variables.result:
  New changeable system variables
mysql-test/t/key.test:
  Test of bug in auto_increment
mysql-test/t/query_cache.test:
  New changeable system variables
mysql-test/t/rpl000001.test:
  New changeable system variables
mysql-test/t/rpl000009.test:
  New changeable system variables
mysql-test/t/rpl000016.test:
  New changeable system variables
mysql-test/t/rpl_compat.test:
  New changeable system variables
mysql-test/t/union.test:
  New changeable system variables
mysql-test/t/user_var.test:
  New changeable system variables
mysql-test/t/variables.test:
  New changeable system variables
mysys/default.c:
  Bigger default memory allocation
mysys/mf_iocache.c:
  Removed compiler warning
mysys/mf_keycache.c:
  Made key cache resizable on the fly
  Removed not needed extra argument to init_key_cache()
mysys/my_getopt.c:
  Made some helper functions global
sql/Makefile.am:
  Aded set_var.cc
sql/convert.cc:
  Comment cleanup
sql/field.cc:
  new changeable system variables
sql/filesort.cc:
  new changeable system variables
sql/ha_berkeley.cc:
  AUTO_COMMIT -> AUTOCOMMIT
sql/ha_innodb.cc:
  new changeable system variables
sql/ha_myisam.cc:
  Added extra argument to ..._extra()
sql/ha_myisam.h:
  Added extra argument to ..._extra()
sql/ha_myisammrg.cc:
  Added extra argument to ..._extra()
sql/ha_myisammrg.h:
  Added extra argument to ..._extra()
sql/handler.cc:
  Added extra argument to ..._extra()
  Added resize of key cache
  Change ha_table_typelib for use with new system variables
sql/handler.h:
  Added extra argument to ..._extra()
sql/item.cc:
  new changeable system variables
sql/item.h:
  Added better support of Item_uint
sql/item_func.cc:
  Added support for SET @@[global | session] system_variable
sql/item_strfunc.cc:
  new changeable system variables
sql/key.cc:
  Fixed bug in auto_increment on second part keys
sql/lex.h:
  Removed not needed keywords
sql/log.cc:
  new changeable system variables
sql/log_event.cc:
  new changeable system variables
sql/log_event.h:
  Removed not needed var reference
sql/mini_client.cc:
  new changeable system variables
  code cleanup
sql/mini_client.h:
  Indentation cleanup
sql/mysql_priv.h:
  Changed order of include files & variables to make file more readable
sql/mysqld.cc:
  Changed order of variables to make file more readable.
  Support for changeable variables
  Rename of system variables
  Moved init_vars to set_var.cc
  Changed output of --help
sql/net_pkg.cc:
  Added my_net_local_init() to make it possible to set different defaults for network connection depending if you are a client, embedded library or server.
sql/net_serv.cc:
  new changeable system variables
  To support this, some global variables had to be move to the NET structure.
sql/records.cc:
  new changeable system variables
  use extra_opt()
sql/repl_failsafe.cc:
  new changeable system variables
  minior code cleanups
sql/repl_failsafe.h:
  removed not needed external var reference
sql/share/czech/errmsg.txt:
  new changeable system variables
sql/share/danish/errmsg.txt:
  new changeable system variables
sql/share/dutch/errmsg.txt:
  new changeable system variables
sql/share/english/errmsg.txt:
  new changeable system variables
sql/share/estonian/errmsg.txt:
  new changeable system variables
sql/share/french/errmsg.txt:
  new changeable system variables
sql/share/german/errmsg.txt:
  new changeable system variables
sql/share/greek/errmsg.txt:
  new changeable system variables
sql/share/hungarian/errmsg.txt:
  new changeable system variables
sql/share/italian/errmsg.txt:
  new changeable system variables
sql/share/japanese/errmsg.txt:
  new changeable system variables
sql/share/korean/errmsg.txt:
  new changeable system variables
sql/share/norwegian-ny/errmsg.txt:
  new changeable system variables
sql/share/norwegian/errmsg.txt:
  new changeable system variables
sql/share/polish/errmsg.txt:
  new changeable system variables
sql/share/portuguese/errmsg.txt:
  new changeable system variables
sql/share/romanian/errmsg.txt:
  new changeable system variables
sql/share/russian/errmsg.txt:
  new changeable system variables
sql/share/slovak/errmsg.txt:
  new changeable system variables
sql/share/spanish/errmsg.txt:
  new changeable system variables
sql/share/swedish/errmsg.txt:
  new changeable system variables
sql/share/ukrainian/errmsg.txt:
  new changeable system variables
sql/slave.cc:
  new changeable system variables
  Added some suppression of error messages
  Initialize current_thd for all slave threads.
sql/sql_acl.cc:
  Added checking of arguments for SET PASSWORD (for new SET defintion)
sql/sql_acl.h:
  new prototypes
sql/sql_base.cc:
  new changeable system variables
sql/sql_cache.cc:
  new changeable system variables
sql/sql_cache.h:
  Renamed some arguments to make code more readable
sql/sql_class.cc:
  new changeable system variables
sql/sql_class.h:
  New changeable system variables
  Code cleanup
sql/sql_db.cc:
  Fixed bug in DROP DATABASE
sql/sql_delete.cc:
  Usage of wrong define in test (possible speed problem)
sql/sql_insert.cc:
  use extra_opt()
  Code cleanup
sql/sql_lex.cc:
  Added support for SET @@[global | session] system_variable
sql/sql_lex.h:
  Added support for SET @@[global | session] system_variable
sql/sql_load.cc:
  Cleanup for embedded library
  Use extra_opt()
sql/sql_parse.cc:
  Cleanup for embedded library
  New changeable system variables
sql/sql_repl.cc:
  new changeable system variables
sql/sql_repl.h:
  Fixed variable definitions
sql/sql_select.cc:
  new changeable system variables
sql/sql_show.cc:
  New changeable system variables
sql/sql_table.cc:
  Fixed bug in DROP DATABASE
sql/sql_union.cc:
  New changeable system variables
sql/sql_update.cc:
  Usage of wrong define in test (possible speed problem)
sql/sql_yacc.yy:
  New changeable system variables
sql/structs.h:
  Added typedef for SHOW_VAR
sql/table.cc:
  Fixed bug in auto_increment on second part keys
sql/uniques.cc:
  Comment fix
sql/unireg.h:
  A
2002-07-23 18:31:22 +03:00
unknown
0724f98e67 Added the following new privleges:
SHOW DATABASES
CREATE TEMPORARY TABLE
LOCK TABLES
REPLICATION SLAVE & REPLICATION CLIENT
SUPER
EXECUTE

All scripts & documentation is updated for this change.
Added better error messages for global privileges 


BitKeeper/deleted/.del-mysql_new_fix_privilege_tables.sh~b1664b401375eece:
  Delete: scripts/mysql_new_fix_privilege_tables.sh
Docs/manual.texi:
  Updated manual for privilege changes.
include/mysqld_error.h:
  new error messages
mysql-test/install_test_db.sh:
  Updated to use new privileges
mysql-test/r/grant_cache.result:
  Updated to use new privileges
mysql-test/r/rpl000017.result:
  Updated to use new privileges
mysql-test/t/rpl000017.test:
  Updated to use new privileges
mysys/safemalloc.c:
  Cleanup
scripts/mysql_fix_privilege_tables.sh:
  Updated to use new privileges
scripts/mysql_install_db.sh:
  Updated to use new privileges
sql/field.h:
  Cleanup
sql/item_strfunc.cc:
  Updated to use new privileges
sql/lex.h:
  Updated to use new privileges
sql/log.cc:
  Updated to use new privileges
sql/mysql_priv.h:
  Updated to use new privileges
sql/mysqld.cc:
  Updated to use new privileges
sql/repl_failsafe.cc:
  Updated to use new privileges
sql/share/czech/errmsg.txt:
  new error messages
sql/share/danish/errmsg.txt:
  new error messages
sql/share/dutch/errmsg.txt:
  new error messages
sql/share/english/errmsg.txt:
  new error messages
sql/share/estonian/errmsg.txt:
  new error messages
sql/share/french/errmsg.txt:
  new error messages
sql/share/german/errmsg.txt:
  new error messages
sql/share/greek/errmsg.txt:
  new error messages
sql/share/hungarian/errmsg.txt:
  new error messages
sql/share/italian/errmsg.txt:
  new error messages
sql/share/japanese/errmsg.txt:
  new error messages
sql/share/korean/errmsg.txt:
  new error messages
sql/share/norwegian-ny/errmsg.txt:
  new error messages
sql/share/norwegian/errmsg.txt:
  new error messages
sql/share/polish/errmsg.txt:
  new error messages
sql/share/portuguese/errmsg.txt:
  new error messages
sql/share/romanian/errmsg.txt:
  new error messages
sql/share/russian/errmsg.txt:
  new error messages
sql/share/slovak/errmsg.txt:
  new error messages
sql/share/spanish/errmsg.txt:
  new error messages
sql/share/swedish/errmsg.txt:
  new error messages
sql/share/ukrainian/errmsg.txt:
  new error messages
sql/slave.cc:
  Portability cleanup
sql/sql_acl.cc:
  Updated to use new privileges
sql/sql_acl.h:
  Updated to use new privileges
sql/sql_base.cc:
  Remove not used include file
sql/sql_class.cc:
  Comment cleanup
sql/sql_class.h:
  Updated to use new privileges
  Comment cleanups
sql/sql_insert.cc:
  Updated to use new privileges
sql/sql_lex.h:
  Indentation cleanup
sql/sql_parse.cc:
  Updated to use new privileges
sql/sql_repl.cc:
  Updated to use new privileges
  Comment cleanup
sql/sql_show.cc:
  Updated to use new privileges
sql/sql_yacc.yy:
  Updated to use new privileges
  Sorted some tockens for easer merge to 4.1 in the future.
sql/table.h:
  Updated to use new privileges
tests/grant.pl:
  Updated to use new privileges
tests/grant.res:
  Updated to use new privileges
2002-06-12 15:04:18 +03:00
unknown
70aa7424c4 Big code cleanup/review before 4.0.2 release.
(All commit emails since 4.0.1 checked)
This had to be done now, before the 4.1 tree changes to much, to make it easy to propagate bug fixes to the 4.1 tree.


BUILD/SETUP.sh:
  Added -DPEDANTIC_SAFEMALLOC as standard debug option
Docs/manual.texi:
  Changes for new version.
client/mysql.cc:
  Fixed default value for rehash
  cleanup
client/mysqladmin.c:
  Cleanup
client/mysqlbinlog.cc:
  cleanup
client/mysqldump.c:
  Cleanup
client/mysqlmanager-pwgen.c:
  Cleanup
client/mysqlmanagerc.c:
  Cleanup
client/mysqltest.c:
  Cleanup
dbug/dbug.c:
  Cleanup
extra/resolve_stack_dump.c:
  Cleanup & Simple optimizations
include/ft_global.h:
  Cleanup
include/my_alloc.h:
  Cleanup
include/my_global.h:
  Cleanup
include/my_sys.h:
  Cleanup
include/myisam.h:
  Cleanup
libmysql/libmysql.c:
  Cleanup
libmysql/manager.c:
  Cleanup
myisam/ft_boolean_search.c:
  Cleanup
myisam/ft_dump.c:
  Change strcpy -> strmov
myisam/ft_eval.c:
  Cleanup
myisam/ft_nlq_search.c:
  Cleanup
myisam/ft_test1.c:
  strncpy -> strnmov
myisam/ft_update.c:
  Cleanup
myisam/mi_static.c:
  Cleanup
myisam/mi_test2.c:
  Cleanup
myisam/mi_write.c:
  Cleanup
mysys/mf_fn_ext.c:
  Cleanup
mysys/mf_iocache.c:
  Cleanup
mysys/mf_iocache2.c:
  Cleanup
mysys/my_getopt.c:
  Cleanup
mysys/my_read.c:
  Cleanup
mysys/my_thr_init.c:
  Cleanup
mysys/queues.c:
  Cleanup
mysys/safemalloc.c:
  Cleanup
sql/field.cc:
  Indentation cleanups
sql/ha_berkeley.cc:
  Indentation cleanups
sql/ha_myisam.cc:
  Cleanup
sql/item.h:
  Indentation cleanups
sql/item_cmpfunc.cc:
  Indentation cleanups
sql/item_create.cc:
  cleanup
sql/item_func.cc:
  Cleanup
sql/item_func.h:
  Indentation cleanups
sql/item_strfunc.cc:
  Indentation cleanups
sql/item_sum.cc:
  Indentation cleanups
sql/item_timefunc.cc:
  Indentation cleanups
sql/lock.cc:
  Indentation cleanups
sql/log.cc:
  Cleanup
  strnmov -> strmake
sql/log_event.cc:
  Cleanup + optimizations
  Fixed memory leak
  Added missing pthread_mutex_unlock()  (On error condition)
sql/log_event.h:
  Indentation and comment cleanup
  Merged #ifdef's into common blocks for better readability
sql/mini_client.cc:
  Indentation cleanup
sql/mysql_priv.h:
  Cleanup
  Changed int function to bool
sql/mysqld.cc:
  Indentation and comment cleanup
sql/net_pkg.cc:
  Indentation cleanup
sql/net_serv.cc:
  Changed int function -> bool
sql/nt_servc.cc:
  Cleanup
sql/opt_range.cc:
  Indentation cleanup
sql/repl_failsafe.cc:
  Cleanup + simple optimization
  strnmov -> strmake
sql/slave.cc:
  strnmov -> strmake
  Cleanups
sql/slave.h:
  Cleanup
sql/sql_acl.cc:
  Indentation and DBUG_PRINT cleanup
  Changed WITH MAX... to not use =
sql/sql_base.cc:
  Indentation cleanup
sql/sql_cache.cc:
  Indentation cleanup
sql/sql_class.cc:
  Indentation cleanup
sql/sql_class.h:
  Renamed some struct slots
sql/sql_delete.cc:
  Indentation cleanup
sql/sql_handler.cc:
  Indentation cleanup
sql/sql_insert.cc:
  Use new slot names.
sql/sql_lex.cc:
  Indentation cleanup
sql/sql_lex.h:
  Indentation cleanup
sql/sql_load.cc:
  Indentation cleanup
sql/sql_parse.cc:
  Indentation cleanup
  Removed not used check from LOCK TABLES
sql/sql_repl.cc:
  strnmov -> strmake
sql/sql_repl.h:
  Removed test if file is included (We want to know if it's included twice to avoid this)
sql/sql_select.cc:
  Indentation cleanup
sql/sql_show.cc:
  Indentation cleanup
sql/sql_string.cc:
  Indentation cleanup
sql/sql_table.cc:
  Indentation cleanup
sql/sql_union.cc:
  Use renamed struct slot
sql/sql_update.cc:
  Indentation cleanup
sql/sql_yacc.yy:
  Removed = after GRANT ... MAX_  to make the syntax uniform
sql/table.cc:
  Indentation cleanup
sql/table.h:
  Indentation cleanup
sql/time.cc:
  Indentation cleanup
sql/udf_example.cc:
  Indentation cleanup
sql/unireg.cc:
  strnmov -> strmake
tests/grant.pl:
  Added test for LOCK TABLES
tools/mysqlmanager.c:
  Cleanup
  fopen() -> my_fopen()
vio/viosocket.c:
  DBUG_PRINT cleanups
vio/viosslfactories.c:
  Indentation cleanup
  Checking of results from malloc()
  Fixed possible memory leak
BitKeeper/etc/ignore:
  Added scripts/mysql_secure_installation to the ignore list
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2002-06-11 11:20:31 +03:00
unknown
770aa9f2d1 Added a lot of DBUG_xxx statements to be able to find replication bug.
Fixed critical bug on 64 bit systems.
Cleanups


BUILD/compile-solaris-sparc-purify:
  Added --debug option.
sql/log_event.cc:
  Added DBUG_xxx statements.
  Cleanup
sql/opt_range.h:
  Dummy fix to remove warnings in purify
sql/repl_failsafe.cc:
  Cleanup
sql/slave.cc:
  Added DBUG statements to be able to find bugs.
  Optimized code.
  Fixed critical bug on 64 bit systems.
sql/sql_repl.cc:
  Added DBUG_xx statements.
2002-06-08 21:02:01 +03:00
unknown
03728196ee removed init_count from IO_CACHE.
Added missing mutex_unlock to slave replication code.


include/my_sys.h:
  removed init_count from IO_CACHE.
  General cleanup.
innobase/srv/srv0srv.c:
  Initailize slots to avoid purify warnings.
  Removed some compiler warnings.
mysql-test/mysql-test-run.sh:
  Automatic start of slave under gdb
mysys/mf_iocache.c:
  removed init_count
sql/field.cc:
  Cleanup
sql/log.cc:
  Cleanup
  added open_count variable.
sql/log_event.cc:
  cleanup
  use is_prefix instead of memcmp()
sql/repl_failsafe.cc:
  cleanup
sql/slave.cc:
  cleanup
  use MYSQL_LOG->open_count instead of IO_CACHE->init_count
  Added missing mutex_unlock()
sql/slave.h:
  cleanup
sql/sql_class.h:
  cleanup
  Added open_count to MYSQL_LOGL
sql/sql_parse.cc:
  removed compiler warning
sql/sql_repl.cc:
  added DBUG_xxx
sql/unireg.h:
  Added BIN_LOG_HEADER_SIZE
2002-06-05 23:04:38 +03:00
unknown
75d312bc1f Fixed a bug in make test, non-debug version.
sql/slave.cc:
  Released some variables in non-debug version. These are needed
  in mysqld.cc my_getopt struct, which defines some options,
  which are used by mysql_test in a non-debug version.
sql/sql_repl.cc:
  Released some variables in non-debug version. These are needed
  in mysqld.cc my_getopt struct, which defines some options,
  which are used by mysql_test in a non-debug version.
2002-05-29 15:20:36 +03:00
unknown
d7cfbff5b0 relay_log_space_limit
DBUG_ macro cleanup
buffer boundary cleanup
This changeset, although not fully tested, works for me better than 
anything I've had so far, including what is in the repository. I will 
push it unless something crashes while I am writing this :-)


mysql-test/r/rpl000014.result:
  updated result
mysql-test/r/rpl000015.result:
  updated result
mysql-test/r/rpl000016.result:
  updated result
mysql-test/r/rpl_log.result:
  new result
mysys/mf_iocache.c:
  DBUG_ cleanup
mysys/mf_iocache2.c:
  DBUG_ fix
sql/log.cc:
  added relay_log_space_limit
sql/mysqld.cc:
  relay_log_space_limit
sql/slave.cc:
  relay_log_space_limit
sql/slave.h:
  relay_log_space_limit
sql/sql_class.h:
  relay_log_space_limit
sql/sql_repl.cc:
  fixed buffer overrun bug
2002-04-01 21:46:23 -07:00
unknown
5449b03bc8 replication updates. This changeset seems to be working fine on test systems.
If no problems are discovered in the next week, this will make the replication
code ready for 4.0.2 release.


dbug/dbug.c:
  cleanup of my previous fix
sql/mysqld.cc:
  fixed a REALLY NASTY BUG - slave threads were being launched before 
  initialization of global thread keys. Thus if the slave thread was slow
  to start everything worked fine, but if it started quickly, we would get
  into trouble using the unitinialized keys
sql/net_pkg.cc:
  make net_printf() work with 0 error code taking the third argument as 
  format string in that case
sql/slave.cc:
  misc fix-ups and debugging instrumentations
sql/slave.h:
  added skip_log_purge member
sql/sql_class.cc:
  debugging instrumentation to track down random memory corruption
sql/sql_class.h:
  added debugging sentry to THD to track down memory corruption
sql/sql_repl.cc:
  fixed bugs in CHANGE MASTER
2002-03-30 12:36:05 -07:00
unknown
9c435716a9 replication updates and bugfixes. Still not perfect - there is some strange
memory corruption I can only repeat on one system.


mysql-test/r/multi_update.result:
  extended test trying to find why the old one was failing
mysql-test/r/rpl000015.result:
  result update
mysql-test/t/multi_update.test:
  updated test to do more intermediate result checks
mysql-test/t/rpl000014.test:
  cosmetic change
mysql-test/t/rpl000015-slave-master-info.opt:
  reduce connect retry trying to simulate a bug
mysql-test/t/rpl000015.test:
  cosmetic change
sql/lex.h:
  added RELAY_LOG_FILE and RELAY_LOG_POS to CHANGE MASTER TO
sql/log.cc:
  fixed replication bug
sql/log_event.cc:
  properly ignore replication errors according to error mask
sql/mysqld.cc:
  handle SIGFPE in the coredump handler
sql/slave.cc:
  do not kick slave if it has already exited and freed the structures
sql/sql_lex.cc:
  fixed initialization bug in CHANGE MASTER TO
sql/sql_lex.h:
  CHANGE MASTER TO .. RELAY_LOG_FILE=,RELAY_LOG_POS=
sql/sql_repl.cc:
  CHANGE MASTER TO .. RELAY_LOG_FILE=,RELAY_LOG_POS=
sql/sql_yacc.yy:
  CHANGE MASTER TO .. RELAY_LOG_FILE=,RELAY_LOG_POS=
2002-03-15 18:44:44 -07:00
unknown
b8a9ea66ba slave start <options> to be able to do
slave start io_thread 
 slave start sql_thread
same for stop


sql/lex.h:
  slave start <options>
sql/sql_lex.cc:
  slave start <options>
sql/sql_lex.h:
  slave start <options>
sql/sql_repl.cc:
  slave start <options>
sql/sql_yacc.yy:
  slave start <options>
2002-03-09 21:48:06 -07:00
unknown
d6a4362687 New error messages
Test of unsigned BIGINT values
Fixes for queries-per-hour
Cleanup of replication code (comments and portability fixes)
Make most of the binary log code 4G clean
Changed syntax for GRANT ... QUERIES PER HOUR


Docs/manual.texi:
  Fixed Changelog, upgrading to 4.0 and 4.1 TODO sections.
Docs/mysqld_error.txt:
  Added error message.
configure.in:
  Fix for autoconf 2.52
include/my_getopt.h:
  Portability fix.
include/my_global.h:
  Portablity fix.
include/mysqld_error.h:
  New error messages
mysql-test/r/bigint.result:
  Test of unsigned BIGINT values.
mysql-test/r/func_op.result:
  Test of unsigned BIGINT values.
mysql-test/r/varbinary.result:
  Test of unsigned BIGINT values.
mysql-test/t/bigint.test:
  Test of unsigned BIGINT values.
sql/item_func.h:
  Optimized Item_int_func() usage.
sql/lock.cc:
  Cleanup comments
sql/log.cc:
  Cleanup
sql/log_event.cc:
  Cleanup and portability fixes.
sql/log_event.h:
  Cleanup and portability fixes.
sql/mini_client.cc:
  Cleanup and portability fixes.
sql/mysqld.cc:
  Fix for queries-per-hour
sql/repl_failsafe.cc:
  Prepare for making binary log 2G clean.
sql/share/czech/errmsg.txt:
  New error messages
sql/share/danish/errmsg.txt:
  New error messages
sql/share/dutch/errmsg.txt:
  New error messages
sql/share/english/errmsg.txt:
  New error messages
sql/share/estonian/errmsg.txt:
  New error messages
sql/share/french/errmsg.txt:
  New error messages
sql/share/german/errmsg.txt:
  New error messages
sql/share/greek/errmsg.txt:
  New error messages
sql/share/hungarian/errmsg.txt:
  New error messages
sql/share/italian/errmsg.txt:
  New error messages
sql/share/japanese/errmsg.txt:
  New error messages
sql/share/korean/errmsg.txt:
  New error messages
sql/share/norwegian-ny/errmsg.txt:
  New error messages
sql/share/norwegian/errmsg.txt:
  New error messages
sql/share/polish/errmsg.txt:
  New error messages
sql/share/portuguese/errmsg.txt:
  New error messages
sql/share/romanian/errmsg.txt:
  New error messages
sql/share/russian/errmsg.txt:
  New error messages
sql/share/slovak/errmsg.txt:
  New error messages
sql/share/spanish/errmsg.txt:
  New error messages
sql/share/swedish/errmsg.txt:
  New error messages
sql/share/ukrainian/errmsg.txt:
  New error messages
sql/slave.cc:
  Cleanup
sql/slave.h:
  Cleanup
sql/sql_acl.cc:
  Cleanup and removal of possible reserved words
sql/sql_base.cc:
  More DBUG
sql/sql_cache.cc:
  Cleanup & portability fixes
sql/sql_class.h:
  Make binary log 4G clean
sql/sql_delete.cc:
  More DBUG
sql/sql_handler.cc:
  Cleanup & portability fixes
sql/sql_parse.cc:
  Cleanup of queries-per-hours code
sql/sql_rename.cc:
  Add missing DBUG_RETURN
sql/sql_repl.cc:
  Cleanup & portability fixes
sql/sql_select.cc:
  Cleanup & portability fixes
sql/sql_show.cc:
  Cleanup & portability fixes
sql/sql_update.cc:
  Small cleanup of multi-update-code (need second pass)
sql/sql_yacc.yy:
  Changed syntax for GRANT ... QUERIES PER HOUR
strings/str2int.c:
  Cleanup & portability fixes
2002-01-29 18:32:16 +02:00
unknown
5df61c3cdc Here comes a nasty patch, although I am not ready to push it yet. I will
first pull, merge,test, and get it to work.

The main change is the new replication code - now we have two slave threads
SQL thread and I/O thread. I have also re-written a lot of the code to 
prepare for multi-master implementation. 

I also documented IO_CACHE quite extensively and to some extend, THD class.


Makefile.am:
  moved tags target script into a separate file
include/my_sys.h:
  fixes in IO_CACHE for SEQ_READ_APPEND + some documentation
libmysqld/lib_sql.cc:
  updated replication locks, but now I see I did it wrong and it won't compile. Will fix
  before the push.
mysql-test/r/rpl000014.result:
  test result update
mysql-test/r/rpl000015.result:
  test result update
mysql-test/r/rpl000016.result:
  test result update
mysql-test/r/rpl_log.result:
  test result update
mysql-test/t/rpl000016-slave.sh:
  remove relay logs
mysql-test/t/rpl000017-slave.sh:
  remove relay logs
mysql-test/t/rpl_log.test:
  updated test
mysys/mf_iocache.c:
  IO_CACHE updates to make replication work
mysys/mf_iocache2.c:
  IO_CACHE update to make replication work
mysys/thr_mutex.c:
  cosmetic change
sql/item_func.cc:
  new replication code
sql/lex.h:
  new replication
sql/log.cc:
  new replication
sql/log_event.cc:
  new replication
sql/log_event.h:
  new replication
sql/mini_client.cc:
  new replication
sql/mini_client.h:
  new replication
sql/mysql_priv.h:
  new replication
sql/mysqld.cc:
  new replication
sql/repl_failsafe.cc:
  new replication
sql/slave.cc:
  new replication
sql/slave.h:
  new replication
sql/sql_class.cc:
  new replication
sql/sql_class.h:
  new replication
sql/sql_lex.h:
  new replication
sql/sql_parse.cc:
  new replication
sql/sql_repl.cc:
  new replication
sql/sql_repl.h:
  new replication
sql/sql_show.cc:
  new replication
sql/sql_yacc.yy:
  new replication
sql/stacktrace.c:
  more robust stack tracing
sql/structs.h:
  new replication code
BitKeeper/etc/ignore:
  Added mysql-test/r/rpl000002.eval mysql-test/r/rpl000014.eval mysql-test/r/rpl000015.eval mysql-test/r/rpl000016.eval mysql-test/r/slave-running.eval mysql-test/r/slave-stopped.eval to the ignore list
2002-01-19 19:16:52 -07:00
unknown
06e1e27557 New improved IO_CACHE
include/my_global.h:
  Remove dbug_assert()  (One should use DBUG_ASSERT() instead)
mysql-test/mysql-test-run.sh:
  Fixed that xterm works on Solaris 2.8.
  Fixed printing of errors
mysql-test/r/isam.result:
  Removed MyISAM test from ISAM test
mysql-test/t/isam.test:
  Removed MyISAM test from ISAM test
mysys/my_alloc.c:
  Removed warnings
mysys/my_bitmap.c:
  Use DBUG_ASSERT
mysys/my_pthread.c:
  Use DBUG_ASSERT
mysys/my_seek.c:
  More DBUG
sql/ha_berkeley.cc:
  Use DBUG_ASSERT
sql/ha_innobase.cc:
  Use DBUG_ASSERT
sql/log.cc:
  Use DBUG_ASSERT
sql/opt_range.cc:
  Use DBUG_ASSERT
sql/sql_base.cc:
  Use DBUG_ASSERT
sql/sql_handler.cc:
  Use DBUG_ASSERT
sql/sql_load.cc:
  Cleanup
sql/sql_parse.cc:
  Use DBUG_ASSERT
sql/sql_repl.cc:
  Cleanup
sql/sql_select.cc:
  Use DBUG_ASSERT
tools/mysqlmanager.c:
  Cleanup
2001-11-28 02:55:52 +02:00
unknown
7135efc1b5 replication updates in the manual
fixed typo on sql_repl.cc
added build-tags script for the benefit of the poor, sick, and afflicted, 
as Matt likes to say :-)


Docs/manual.texi:
  replication updates
sql/sql_repl.cc:
  fixed typo in comment
2001-11-24 22:48:57 -07:00
unknown
640fadf2f8 work to enable reading 3.23 logs - not yet finished
moved fail-safe replication routines from sql_repl.cc to repl_failsafe.cc
write start event only in the first log


client/mysqlbinlog.cc:
  work to enable reading 3.23 logs
libmysql/Makefile.shared:
  added mf_iocache2 to libmysqlclient - needed for mysqlbinlog
mysql-test/mysql-test-run.sh:
  added --start-and-exit
mysql-test/r/rpl000002.result:
  result clean-up
mysql-test/r/rpl000016.result:
  result update
mysql-test/r/rpl_log.result:
  result update
mysql-test/t/rpl000016.test:
  test cleanup
mysys/mf_iocache.c:
  fixed new bug
sql/log.cc:
  write start event only on server start or after reset master
sql/log_event.cc:
  work to enable reading 3.23 log format
sql/log_event.h:
  work to enable reading 3.23 format
sql/repl_failsafe.cc:
  code restructuring
sql/repl_failsafe.h:
  re-organized code
sql/slave.cc:
  check master version
sql/slave.h:
  old_format member
sql/sql_class.h:
  allow user to specify io cache type
  need_start_event member to allow writing start event only in the first log
sql/sql_parse.cc:
  code re-organization
sql/sql_repl.cc:
  code reorganization
sql/sql_repl.h:
  reorganized code
2001-11-10 22:24:12 -07:00