Commit graph

122 commits

Author SHA1 Message Date
unknown
e3541b8a97 Fix for BUG#1086. Now we don't preserve event's log_pos through
log-slave-updates since this causes unexpected values in 
Exec_master_log_pos in A->B->C replication setup, synchronization
 problems in master_pos_wait()... 
Still this brokes some functionality in sql/repl_failsafe.cc 
(but this file is not used now)


mysql-test/r/rpl_log.result:
  SHOW BINLOG EVENTS for binlog on slave should give the same 
  Orig_log_pos and Pos values
sql/log_event.cc:
  Do not propagate our master's log pos to our bin log
sql/repl_failsafe.cc:
  Added comment about broken SHOW NEW MASTER
sql/slave.cc:
  Do not propagate our master's log pos to our bin log
sql/sql_class.cc:
  THD::log_pos is no longer needed
sql/sql_class.h:
  THD::log_pos is no longer needed
sql/sql_parse.cc:
  Added comment about broken SHOW NEW MASTER
2003-08-20 03:38:31 +04:00
unknown
d43a347db1 Use my_b_append instead of my_b_write on a SEQ_READ_APPEND cache, when we write
the first 4 bytes of the relay log. Indeed comments in mysys/mf_iocache.c 
say we must always use my_b_append for such a cache.
This *could* avoid a very rare assertion failure which is: 
030524 19:32:38  Slave SQL thread initialized, starting replication in log 'FIRST' at position 0, relay log '/
users/gbichot/4.1.1/mysql-test/var/log/slave-relay-bin.000001' position: 4
030524 19:32:38  next log '/users/gbichot/4.1.1/mysql-test/var/log/slave-relay-bin.000002' is currently active
mysqld: mf_iocache.c:701: _my_b_seq_read: Assertion `pos_in_file == info->end_of_file' failed.
and which seemed to happen always when the SQL thread and/or the I/O thread
were at position 4 in a relay log.


include/my_sys.h:
  moving a function from log_event.cc so that it can be widely used
mysys/mf_iocache.c:
  moving a function from log_event.cc so that it can be widely used
sql/log.cc:
  my_b_write should not be used on a SEQ_READ_APPEND cache, one should use my_b_append
  (otherwise there could be some locking problems).
sql/log_event.cc:
  moved to mysys/mf_iocache.c for wider use.
  A typo.
2003-08-19 17:00:36 +02:00
unknown
fe0e546434 Fix for BUG#1096 which is:
"mysqlbinlog does not comment the original LOAD DATA INFILE if it has a "use xx""


client/mysqlbinlog.cc:
  a comment
sql/log_event.cc:
  in mysqlbinlog we want to have a leading '#' before LOAD DATA INFILE when we
  print a Create_file event.
  This was not done properly when the query had *2* lines: only the "use db" got
  commented.
  To fix this I had to add an argument to Load_log_event::print, it could not be
  handled in Create_file_log_event::print alone.
sql/log_event.h:
  prototype
2003-08-19 15:46:47 +02:00
unknown
20901edafb Remove wrong bug fix when calling create_sort_index.
Fix possible replication bug with LOAD DATA ... IGNORE LINES #


mysql-test/r/rpl_log.result:
  Test of load data ... ignore # lines
mysql-test/t/rpl_log.test:
  Test of load data ... ignore # lines
sql/log_event.cc:
  Fix replication bug with LOAD DATA ... IGNORE LINES #
  (Note that the code that is probably not executed in 4.0)
sql/sql_parse.cc:
  Indentation fix
sql/sql_select.cc:
  Remove wrong bug fix (all tests passes)
sql/sql_yacc.yy:
  Indentation cleanup
2003-08-10 05:14:16 +03:00
unknown
fa1613be0a Review of changesets since last pull.
(Mostly code cleanups)


include/my_sys.h:
  Removed not used define
myisam/mi_check.c:
  Indentation change
mysql-test/t/rpl_insert_id.test:
  Add test if server supports innodb
mysys/mf_format.c:
  Remove QUOTE handling from fn_format()
  (fn_format() should not have anything to do with quoting things)
sql/log_event.cc:
  Removed some unnecessary casts (by changing functions to use const char *)
  Cleaned up some error messages to make them shorter and (hopefully) more readable.
  Fixed wrong format strings
  Restored 'thd->options' on error.
sql/mini_client.cc:
  Changed order of include files to remove compilation warning
sql/mysqld.cc:
  Add proper quoting of service arguments (don't use fn_format)
sql/slave.cc:
  Simple optimization and cleanup.
  Changed rewrite_db() and print_slave_db_safe() to use const char* to avoid casting of arguments when calling functions.
  Cleanup of some error messages.
sql/slave.h:
  Changed protypes to use const char *
sql/sql_acl.cc:
  Simple optimization
vio/viosslfactories.c:
  Changed order of include files to remove compilation warning
2003-08-07 20:16:37 +03:00
unknown
ab34adf66a WL#1036 (print the db in slave error messages).
I extended the task to cleaning error messages, making them look nicer,
and making the output of SHOW SLAVE STATUS (column Last_error) be as complete
as what's printed on the .err file;
previously we would have, for a failure of a replicated LOAD DATA INFILE:
- in the .err, 2 lines:
"duplicate entry 2708 for key 1"
"failed loading SQL_LOAD-5-2-2.info"
- and in SHOW SLAVE STATUS, only:
"failed loading SQL_LOAD-5-2-2.info".
Now SHOW SLAVE STATUS will contain the concatenation of the 2 messages.


sql/log_event.cc:
  Print the default database when replication stops because of an error. Previously, we had:
  "error "Duplicate entry 87987 for key 1", query 'insert into t values(87987)'", ie the db
  was not mentioned, making it hard for cases where the same table name is used in
  several databases.
  Lengthened some error messages (for failing replication of LOAD DATA: mention the table
  and the db).
  Changes so that SHOW SLAVE STATUS reports as complete errors as the .err file.
sql/slave.cc:
  Removed a useless declaration (the rewrite_db() function is already declared in slave.h).
  Added missing ')' in error messages.
  Tried to make error messages look nicer (previously we had
  "do START SLAVE;, error_code=1062"
  now we'll have
  "do START SLAVE; . Error_code=1062".
  This form has been discussed, I agree it's no panacea, but it's still more readable
  like this. To be improved in the future :)
sql/slave.h:
  declarations.
2003-07-24 22:25:36 +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
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
eed62d993d Fix for
BUG#797 "If query ignored on slave (replicate-ignore-table) the slave still checks if
the returned error (0) is the same as the one on the master, whereas it shouldn't
test this.
Plus a new test for BUG#797.


include/mysqld_error.h:
  New error code (can be sent only to the slave thread, not to normal clients).
sql/log.cc:
  removed comment from a previous debugging.
sql/log_event.cc:
  ER_SLAVE_IGNORED_TABLE is an ignorable error.
sql/share/czech/errmsg.txt:
  for BUG#797
sql/share/danish/errmsg.txt:
  for BUG#797
sql/share/dutch/errmsg.txt:
  for BUG#797
sql/share/english/errmsg.txt:
  for BUG#797
sql/share/estonian/errmsg.txt:
  for BUG#797
sql/share/french/errmsg.txt:
  for BUG#797
sql/share/german/errmsg.txt:
  for BUG#797
sql/share/greek/errmsg.txt:
  for BUG#797
sql/share/hungarian/errmsg.txt:
  for BUG#797
sql/share/italian/errmsg.txt:
  for BUG#797
sql/share/japanese/errmsg.txt:
  for BUG#797
sql/share/korean/errmsg.txt:
  for BUG#797
sql/share/norwegian-ny/errmsg.txt:
  for BUG#797
sql/share/norwegian/errmsg.txt:
  for BUG#797
sql/share/polish/errmsg.txt:
  for BUG#797
sql/share/portuguese/errmsg.txt:
  for BUG#797
sql/share/romanian/errmsg.txt:
  for BUG#797
sql/share/russian/errmsg.txt:
  for BUG#797
sql/share/slovak/errmsg.txt:
  for BUG#797
sql/share/spanish/errmsg.txt:
  for BUG#797
sql/share/swedish/errmsg.txt:
  for BUG#797
sql/share/ukrainian/errmsg.txt:
  for BUG#797
sql/sql_parse.cc:
  when in sql_parse in the slave thread we ignore the query because of replicate-do
  and replicate-ignore options, we return a specific error to the slave thread,
  so that it knows that the query has been ignored (which is different from a
  successful query).
  A small cleanup (test was done twice).
2003-07-08 15:50:57 +02:00
unknown
cdb44cd455 fixed bug #670 2003-07-04 16:06:17 -04:00
unknown
5a3c12effb Merge with 3.23 tree to get latest bug fixes
BitKeeper/etc/logging_ok:
  auto-union
sql/item_func.cc:
  Auto merged
mysql-test/t/user_var.test:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/log_event.h:
  Auto merged
sql/nt_servc.cc:
  Auto merged
configure.in:
  Use local version
innobase/os/os0file.c:
  Use local version
innobase/page/page0page.c:
  Use local version
innobase/row/row0sel.c:
  Use local version
innobase/row/row0vers.c:
  Use local version
mysql-test/r/order_by.result:
  Use local version
mysql-test/r/user_var.result:
  merge with 3.23
mysql-test/t/order_by.test:
  Use local version (test is already in range.test)
sql/log.cc:
  Use local version
sql/share/spanish/errmsg.txt:
  merge
sql/slave.cc:
  Use local version
sql/sql_class.h:
  Use local version
sql/sql_select.cc:
  Use patch in 4.0 for range with NULL problem
2003-07-01 15:02:16 +03: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
418fcdf16a Do not use 'created' for time anymore in Start_log_event, it's the same
as the already-stored timestamp. Now 'created' is used only to know if
this is a first binlog or not. And we may re-use the superfluous bytes
in 5.0 when we need room.


sql/log_event.cc:
  This sort of reverts a change I made in 3.23.57. In 3.23.57 I set 'created' to 0
  if this was a non-first binlog, so I made mysqlbinlog not print the "created xx"
  part if created == 0. While this was sensible, as 'created' is 0 or equal to
  the timestamp which is already stored in the event, we can always print
  "created xx" by using the timestamp, and leaving the use of 'created' only to
  know if this is a first binlog or not (which we print as "created at startup").
sql/log_event.h:
  In Start_log_event, 'created' is always the same as 'when', or O.
  We didn't need 4 bytes for this, a bit would have been enough (O or
  "same as 'when'"). Possibly in 5.0 we will re-use the useless bytes.
2003-06-16 23:38:33 +02:00
unknown
a0120344b9 Fix for bug 254 :
we now make a distinction between if the master is < 3.23.57, 3.23 && >=57, and 4.x
(before the 2 3.23 were one). This is because in 3.23.57 we have a way to distinguish between
a Start_log_event written at server startup and one written at FLUSH LOGS, so we
have a way to know if the slave must drop old temp tables or not.
Change: mi->old_format was bool, now it's enum (to handle 3 cases). However, functions
which had 'bool old_format' as an argument have their prototypes unchanged, because
the old old_format == 0 now corresponds to the enum value BINLOG_FORMAT_CURRENT which
is equal to 0, so boolean tests are left untouched. The only case were we use mi->old_format
as an enum instead of casting it implicitly to a bool, is in Start_log_event::exec_event,
where we want to distinguish between the 3 possible enum values.


sql/log_event.cc:
  Fix for bug 254 :
  we now make a distinction between if the master is < 3.23.57, 3.23 && >=57, and 4.x
  (before the 2 3.23 were one), to know if the slave must drop old temp tables or not.
sql/slave.cc:
  Fix for bug 254 : mi->old_format is now enum.
  An unrelated comment.
sql/slave.h:
  fix for bug 254 : mi->old_format is now enum.
2003-06-06 16:41:28 +02:00
unknown
07d6a19955 In Start_log_event::print, don't print "created 1970 etc" if created == 0.
Otherwise, we'll get questions from users about this curious 1970.
2003-06-06 14:13:26 +02:00
unknown
ccb398b9ee -- Waiting for Monty's approval before push --
Bug 571: play LOAD DATA INFILE the same way on the slave as it was on the master: 
if it was with IGNORE, do it with IGNORE,
if it was with REPLACE, do it with REPLACE,
and (the change) if it was with nothing, do it with nothing (not with IGNORE !!).
Bug 573: print a proper error message in case of duplicate entry in LOAD DATA INFILE
on the slave, i.e. a message where the keyname and key value appear :
'Duplicate entry '1' for key 1' and not 'Duplicate entry '%-.64s' for key %d'


mysql-test/r/rpl_loaddata.result:
  result update
mysql-test/t/rpl_loaddata.test:
  check if duplicate entries on the slave trigger an error 
  when the slave replicates LOAD DATA INFILE (without IGNORE or REPLACE)
  (bug 571).
sql/log_event.cc:
  Bug 571: play LOAD DATA INFILE the same way on the slave as it was on the master: 
  if it was with IGNORE, do it with IGNORE,
  if it was with REPLACE, do it with REPLACE,
  and (the change) if it was with nothing, do it with nothing (not with IGNORE !!).
  Bug 573: print a proper error message in case of duplicate entry in LOAD DATA INFILE
  on the slave, i.e. a message where the keyname and key value appear :
  'Duplicate entry '1' for key 1' and not 'Duplicate entry '%-.64s' for key %d'
2003-06-03 15:47:29 +02:00
unknown
a222789320 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into narttu.mysql.fi:/my/mysql-4.0


sql/log_event.cc:
  Auto merged
2003-05-26 13:36:43 +03:00
unknown
e864f2592d Added testing of LOAD DATA ... STARTING BY
Added read_only variable


mysql-test/r/loaddata.result:
  Added testing of STARTING BY
mysql-test/t/loaddata.test:
  Added testing of STARTING BY
sql/log_event.cc:
  Code cleanup
sql/set_var.cc:
  Added read_only variable
sql/sql_update.cc:
  Remove not used variable
2003-05-26 11:47:03 +03:00
unknown
9f1da8ad49 Merge vvagin@bk-internal.mysql.com:/home/bk/mysql-3.23
into eagle.mysql.r18.ru:/home/vva/work/LOADDATA/mysql-3.23


BitKeeper/etc/logging_ok:
  auto-union
sql/log_event.cc:
  Auto merged
2003-05-21 15:18:30 -04:00
unknown
bddd75d28e fixed "LINES STARTING" in load data replication
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2003-05-21 15:16:56 -04:00
unknown
87a9e90fd0 Merge eagle.mysql.r18.ru:/home/vva/work/mysql.orig/clear/mysql-4.0
into eagle.mysql.r18.ru:/home/vva/work/LOADDATA/mysql-4.0


sql/log_event.cc:
  Auto merged
2003-05-21 14:58:11 -04:00
unknown
530accbaae fixed 'STARTING BY' in replication
mysql-test/r/rpl_loaddata.result:
  added test for 'STARTING BY'
mysql-test/std_data/rpl_loaddata2.dat:
  added test for 'STARTING BY'
mysql-test/t/rpl_loaddata.test:
  added test for 'STARTING BY'
sql/log_event.cc:
  fixed 'STARTING BY'
2003-05-21 14:54:02 -04:00
unknown
3e90ec6a58 Merge with 3.23:
Set innobase_flush_log_at_trx_commit to 1 by default
Fix problem with timestamp on 64 bit systems
Reserve alarms for up to 10 slave threads


BitKeeper/etc/logging_ok:
  auto-union
mysql-test/t/rpl_alter.test:
  Auto merged
mysys/charset.c:
  Auto merged
sql/log_event.cc:
  Auto merged
mysql-test/r/join.result:
  Merge with 3.23
mysql-test/t/join.test:
  Merge with 3.23
sql/ha_innodb.cc:
  Merge with 3.23;  Set innobase_flush_log_at_trx_commit to 1 by default
sql/log_event.h:
  Merge with 3.23; Fix problem with timestamp on 64 bit systems
sql/mini_client.cc:
  Use local version
sql/mysqld.cc:
  Reserve alarms for up to 10 slave threads
sql/slave.cc:
  Use local version
sql/sql_list.h:
  Use local version
2003-04-26 21:10:13 +03:00
unknown
c14f989ff8 Task 761:'mysqlbinlog should not die when reading
unknown event'


client/mysqlbinlog.cc:
  Task 761:'mysqlbinlog should not die when reading
  unknown event'
  The 'force-read' option has been added.
sql/log_event.cc:
  Task 761:'mysqlbinlog should not die when reading
  unknown event'
  The'Unknown_log_event' class has been added
sql/log_event.h:
  Task 761:'mysqlbinlog should not die when reading
  unknown event'
  The 'Unknown_log_event' class has been added.
2003-04-23 18:00:07 +05:00
unknown
74eb0b1089 Merge eagle.mysql.r18.ru:/home/vva/work/mysql.orig/clear/mysql-4.0
into eagle.mysql.r18.ru:/home/vva/work/LOADDATA_BUG/mysql-4.0


sql/log_event.cc:
  Auto merged
2003-04-22 19:50:21 -04:00
unknown
60d620aee0 fix error message for for load data infile 2003-04-22 19:38:57 -04:00
unknown
963d57a394 Fixed problem with timestamps in binary log on 64 bit machines
Backported fix from 4.1 for bug 212: SELECT query containing a NATURAL JOIN and parentheses in the WHERE clause


mysql-test/r/join.result:
  New test results
mysql-test/t/join.test:
  Test for bug 212
sql/log_event.cc:
  Removed wrong cast
sql/log_event.h:
  Fixed problem with timestamps in binary log on 64 bit machines
sql/sql_list.h:
  Fix for bug 212 (back ported from 4.1)
2003-04-23 00:13:37 +03:00
unknown
8cad4f7090 fix for #254
(3.23 master, 4.0 slave. 
Slave loss temp tables everytime FLUSH LOGS on master). 
This fix is less bad than the bug, it will cause a problem only maybe
if the master dies the hard way (I say maybe because I could not
cause a problem, and I don't see how it could happen).


sql/log_event.cc:
  fix for #254
  (3.23 master, 4.0 slave. 
  Slave loss temp tables everytime FLUSH LOGS on master). 
  This fix is less bad than the bug, it will cause a problem only maybe
  if the master dies the hard way. (I say maybe because I could not
  cause a problem, and I don't see how it could happen).
2003-04-09 15:16:12 +02:00
unknown
dba3a0b031 After merge fix
sql/log_event.cc:
  Fixed a wrong && test -> &
2003-04-03 21:19:11 +03:00
unknown
5f5b6a7cea Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into narttu.mysql.fi:/my/mysql-4.0


BitKeeper/etc/logging_ok:
  auto-union
sql/log_event.cc:
  Auto merged
2003-04-03 19:55:37 +03:00
unknown
4a1542d056 added test for replication load data into temporary table with additional options
sql/log_event.cc:
  fix bug #183 (Replication of temporary tables not working)
2003-04-03 12:54:08 -04:00
unknown
f5feb33773 Merge with 3.23 to get fixes for:
mysqldump --delete-master-logs
Portability fix for hammer
Memory overrun for MyISAM
LOAD DATA LOCAL replication bug fix.


BitKeeper/etc/logging_ok:
  auto-union
sql/log.cc:
  Auto merged
client/client_priv.h:
  Merge with 3.23
client/mysqldump.c:
  Merge with 3.23
myisam/mi_dynrec.c:
  Merge with 3.23
mysql-test/t/myisam.test:
  Merge with 3.23
sql/log_event.cc:
  Merge with 3.23
sql/slave.cc:
  Merge with 3.23
sql/sql_delete.cc:
  Merge with 3.23
2003-04-03 12:33:13 +03:00
unknown
241b6c058d Small-and-safe fix for bug #218: "LOAD DATA INFILE IGNORE is well
logged, but read as LOAD DATA INFILE REPLACE"
This was just bad && instead of &, but nasty consequences.
This should be merged to 4.0 BUT it will not be automatic (some code
has moved from log_event.h to log_event.cc, and log_event.cc has changed);
please Merging Man, do 'bk grep REPLACE_FLAG' in 4.0/sql
to find all the new places.


sql/log_event.cc:
  & instead of && when testing flags
sql/slave.cc:
  & instead of && when testing flags
2003-04-01 18:19:15 +02:00
unknown
592a398f75 Merge eagle.mysql.r18.ru:/home/vva/work/mysql.orig/clear/mysql-4.0
into eagle.mysql.r18.ru:/home/vva/work/LOADDATA_BUG/mysql-4.0


BitKeeper/etc/logging_ok:
  auto-union
sql/log_event.cc:
  Auto merged
2003-03-25 19:58:40 -04:00
unknown
f4305a899a fix bug with parameters of LOAD DATA INFILE in exec_event
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2003-03-25 19:57:38 -04:00
unknown
f29fb98d34 When the SQL thread cannot read an event from the relay log
("Event too big" etc), stop this thread instead of going on
with the next event, which would certainly lead to slave's data
corruption.


BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2003-03-02 00:34:44 +01:00
unknown
b276b60e03 LOAD DATA INFILE is not replicated if replicate_*_table is set
LOAD DATA LOCAL INFILE was not replicated correctly


VC++Files/bdb/bdb.dsp:
  Updated VC++ files +end space removed
VC++Files/bdb/build_win32/Berkeley_DB.dsw:
  Updated VC++ files +end space removed
VC++Files/bdb/build_win32/db_archive.dsp:
  Updated VC++ files +end space removed
VC++Files/bdb/build_win32/db_buildall.dsp:
  Updated VC++ files +end space removed
VC++Files/bdb/build_win32/db_checkpoint.dsp:
  Updated VC++ files +end space removed
VC++Files/bdb/build_win32/db_deadlock.dsp:
  Updated VC++ files +end space removed
VC++Files/bdb/build_win32/db_dll.dsp:
  Updated VC++ files +end space removed
VC++Files/bdb/build_win32/db_dump.dsp:
  Updated VC++ files +end space removed
VC++Files/bdb/build_win32/db_java.dsp:
  Updated VC++ files +end space removed
VC++Files/bdb/build_win32/db_load.dsp:
  Updated VC++ files +end space removed
VC++Files/bdb/build_win32/db_printlog.dsp:
  Updated VC++ files +end space removed
VC++Files/bdb/build_win32/db_recover.dsp:
  Updated VC++ files +end space removed
VC++Files/bdb/build_win32/db_stat.dsp:
  Updated VC++ files +end space removed
VC++Files/bdb/build_win32/db_static.dsp:
  Updated VC++ files +end space removed
VC++Files/bdb/build_win32/db_static1.dsp:
  Updated VC++ files +end space removed
VC++Files/bdb/build_win32/db_tcl.dsp:
  Updated VC++ files +end space removed
VC++Files/bdb/build_win32/db_test.dsp:
  Updated VC++ files +end space removed
VC++Files/bdb/build_win32/db_upgrade.dsp:
  Updated VC++ files +end space removed
VC++Files/bdb/build_win32/db_verify.dsp:
  Updated VC++ files +end space removed
VC++Files/bdb/build_win32/ex_access.dsp:
  Updated VC++ files +end space removed
VC++Files/bdb/build_win32/ex_btrec.dsp:
  Updated VC++ files +end space removed
VC++Files/bdb/build_win32/ex_env.dsp:
  Updated VC++ files +end space removed
VC++Files/bdb/build_win32/ex_lock.dsp:
  Updated VC++ files +end space removed
VC++Files/bdb/build_win32/ex_mpool.dsp:
  Updated VC++ files +end space removed
VC++Files/bdb/build_win32/ex_tpcb.dsp:
  Updated VC++ files +end space removed
VC++Files/bdb/build_win32/excxx_access.dsp:
  Updated VC++ files +end space removed
VC++Files/bdb/build_win32/excxx_btrec.dsp:
  Updated VC++ files +end space removed
VC++Files/bdb/build_win32/excxx_env.dsp:
  Updated VC++ files +end space removed
VC++Files/bdb/build_win32/excxx_lock.dsp:
  Updated VC++ files +end space removed
VC++Files/bdb/build_win32/excxx_mpool.dsp:
  Updated VC++ files +end space removed
VC++Files/bdb/build_win32/excxx_tpcb.dsp:
  Updated VC++ files +end space removed
VC++Files/client/mysql.dsp:
  Updated VC++ files +end space removed
VC++Files/client/mysqladmin.dsp:
  Updated VC++ files +end space removed
VC++Files/client/mysqlcheck.dsp:
  Updated VC++ files +end space removed
VC++Files/client/mysqlclient.dsp:
  Updated VC++ files +end space removed
VC++Files/client/mysqlclient.dsw:
  Updated VC++ files +end space removed
VC++Files/client/mysqldump.dsp:
  Updated VC++ files +end space removed
VC++Files/client/mysqlimport.dsp:
  Updated VC++ files +end space removed
VC++Files/client/mysqlshow.dsp:
  Updated VC++ files +end space removed
VC++Files/comp_err/comp_err.dsp:
  Updated VC++ files +end space removed
VC++Files/contrib/asm386/zlibvc.dsp:
  Updated VC++ files +end space removed
VC++Files/contrib/asm386/zlibvc.dsw:
  Updated VC++ files +end space removed
VC++Files/contrib/minizip/zlibvc.dsp:
  Updated VC++ files +end space removed
VC++Files/contrib/minizip/zlibvc.dsw:
  Updated VC++ files +end space removed
VC++Files/dbug/dbug.dsp:
  Updated VC++ files +end space removed
VC++Files/dbug/dbug.dsw:
  Updated VC++ files +end space removed
VC++Files/heap/heap.dsp:
  Updated VC++ files +end space removed
VC++Files/innobase/innobase.dsp:
  Updated VC++ files +end space removed
VC++Files/isam/isam.dsp:
  Updated VC++ files +end space removed
VC++Files/isam/isam.dsw:
  Updated VC++ files +end space removed
VC++Files/isamchk/isamchk.dsp:
  Updated VC++ files +end space removed
VC++Files/libmysql/libmysql.dsp:
  Updated VC++ files +end space removed
VC++Files/libmysql/libmysql.dsw:
  Updated VC++ files +end space removed
VC++Files/libmysqld/examples/test_libmysqld.dsp:
  Updated VC++ files +end space removed
VC++Files/libmysqld/libmysqld.dsp:
  Updated VC++ files +end space removed
VC++Files/libmysqltest/myTest.dsp:
  Updated VC++ files +end space removed
VC++Files/libmysqltest/mytest.dsw:
  Updated VC++ files +end space removed
VC++Files/merge/merge.dsp:
  Updated VC++ files +end space removed
VC++Files/merge/merge.dsw:
  Updated VC++ files +end space removed
VC++Files/my_print_defaults/my_print_defaults.dsp:
  Updated VC++ files +end space removed
VC++Files/myisam/myisam.dsp:
  Updated VC++ files +end space removed
VC++Files/myisamchk/myisamchk.dsp:
  Updated VC++ files +end space removed
VC++Files/myisamlog/myisamlog.dsp:
  Updated VC++ files +end space removed
VC++Files/myisammrg/myisammrg.dsp:
  Updated VC++ files +end space removed
VC++Files/myisampack/myisampack.dsp:
  Updated VC++ files +end space removed
VC++Files/mysql.dsp:
  Updated VC++ files +end space removed
VC++Files/mysql.dsw:
  Updated VC++ files +end space removed
VC++Files/mysqlbinlog/mysqlbinlog.dsp:
  Updated VC++ files +end space removed
VC++Files/mysqlcheck/mysqlcheck.dsp:
  Updated VC++ files +end space removed
VC++Files/mysqldemb/mysqldemb.dsp:
  Updated VC++ files +end space removed
VC++Files/mysqlmanager/MySqlManager.dsp:
  Updated VC++ files +end space removed
VC++Files/mysqlmanager/mysqlmanager.dsw:
  Updated VC++ files +end space removed
VC++Files/mysqlserver/mysqlserver.dsp:
  Updated VC++ files +end space removed
VC++Files/mysqlshutdown/myshutdown.dsp:
  Updated VC++ files +end space removed
VC++Files/mysqlshutdown/mysqlshutdown.dsp:
  Updated VC++ files +end space removed
VC++Files/mysqlwatch/mysqlwatch.dsp:
  Updated VC++ files +end space removed
VC++Files/mysys/mysys.dsp:
  Updated VC++ files +end space removed
VC++Files/mysys/mysys.dsw:
  Updated VC++ files +end space removed
VC++Files/pack_isam/pack_isam.dsp:
  Updated VC++ files +end space removed
VC++Files/perror/perror.dsp:
  Updated VC++ files +end space removed
VC++Files/regex/regex.dsp:
  Updated VC++ files +end space removed
VC++Files/regex/regex.dsw:
  Updated VC++ files +end space removed
VC++Files/replace/replace.dsp:
  Updated VC++ files +end space removed
VC++Files/sql/mysqld.dsp:
  Updated VC++ files +end space removed
VC++Files/sql/mysqld.dsw:
  Updated VC++ files +end space removed
VC++Files/sql/mysqldmax.dsp:
  Updated VC++ files +end space removed
VC++Files/sql/old/mysqld.dsw:
  Updated VC++ files +end space removed
VC++Files/strings/MASM6x/strings.dsp:
  Updated VC++ files +end space removed
VC++Files/strings/MASM6x/strings.dsw:
  Updated VC++ files +end space removed
VC++Files/strings/backup/strings.dsp:
  Updated VC++ files +end space removed
VC++Files/strings/backup/strings.dsw:
  Updated VC++ files +end space removed
VC++Files/strings/noMASM/strings.dsp:
  Updated VC++ files +end space removed
VC++Files/strings/noMASM/strings.dsw:
  Updated VC++ files +end space removed
VC++Files/strings/strings.dsp:
  Updated VC++ files +end space removed
VC++Files/strings/strings.dsw:
  Updated VC++ files +end space removed
VC++Files/test1/test1.dsp:
  Updated VC++ files +end space removed
VC++Files/thr_insert_test/thr_insert_test.dsp:
  Updated VC++ files +end space removed
VC++Files/thr_test/thr_test.dsp:
  Updated VC++ files +end space removed
VC++Files/vio/vio.dsp:
  Updated VC++ files +end space removed
VC++Files/zlib/zlib.dsp:
  Updated VC++ files +end space removed
include/my_global.h:
  Always include errno.h
sql/log_event.cc:
  LOAD DATA INFILE is not replicated if replicate_*_table is set
sql/mf_iocache.cc:
  LOAD DATA LOCAL INFILE was not replicated correctly
2003-02-28 22:24:00 +02:00
unknown
e6dad70436 Added detection if pthread_attr_getstacksize() exists
Fixed bug in RAND() usage in mysqlbinlog


configure.in:
  Added detection if pthread_attr_getstacksize() exists
include/thr_lock.h:
  Fixed wrong comment
sql/log_event.cc:
  Fixed bug in RAND() usage in mysqlbinlog
sql/mysqld.cc:
  Portablity fix
sql/repl_failsafe.cc:
  Set host_or_ip for system threads (to make other code simpler)
sql/slave.cc:
  Set host_or_ip for system threads (to make other code simpler)
sql/sql_class.cc:
  Set host_or_ip for system threads (to make other code simpler)
sql/sql_insert.cc:
  Set host_or_ip for system threads (to make other code simpler)
sql/sql_show.cc:
  Set host_or_ip for system threads (to make other code simpler)
2003-02-27 17:35:51 +02:00
unknown
88df4e7326 Fixes cases where thd->query was not protected.
This fixes a problem with SHOW PROCESSLIST


sql/log_event.cc:
  Fixes cases where thd->query was not protected
sql/sql_acl.cc:
  Table privileges was not reset on FLUSH PRIVILEGES if tables_priv was empty
sql/sql_db.cc:
  Fixes cases where thd->query was not protected
2003-01-19 02:00:26 +02:00
unknown
da1ff072c2 Fixed core dump bug in str LIKE "%other_str%" where strings contained characters >= 128.
Fixed problem with replication LOAD DATA INFILE when using  --old-rpl-compat.
When executing on master LOAD DATA and InnoDB failed with 'table full' error the binary log was corrupted.


sql/item_cmpfunc.cc:
  Fixed core dump bug in str LIKE "%other_str%" where strings contained characters >= 128.
sql/log_event.cc:
  Fixed problem with replication LOAD DATA INFILE when using  --old-rpl-compat
sql/sql_load.cc:
  When executing on master LOAD DATA and InnoDB failed with 'table full' error the binary log was corrupted.
2003-01-10 01:55:05 +02:00
unknown
1543bad3e7 Fix for bug in LOAD DATA INFILE and replication
Fix for SHOW VARIABLES in embedded server


Docs/internals.texi:
  Added documentation for join_buffer_size
configure.in:
  Changed version number
sql/log_event.cc:
  Fix for bug in LOAD DATA INFILE
sql/log_event.h:
  Fix for bug in LOAD DATA INFILE
sql/slave.cc:
  Fix for bug in LOAD DATA INFILE
sql/sql_show.cc:
  Fix for SHOW VARIABLES in embedded server
2003-01-08 11:24:39 +02:00
unknown
934f5cc466 Ensure that BEGIN / COMMIT is handled properly if slave dies
Added syntax support for
CREATE TABLE foo (a char CHARACTER SET latin1) CHARSET=latin1;


Docs/internals.texi:
  Update binary protocol description
innobase/include/db0err.h:
  Merge from 3.23
mysql-test/r/insert.result:
  Updated test result from 3.23
sql/log.cc:
  Fixed bug in replication and log rotation
sql/log_event.cc:
  Ensure that BEGIN / COMMIT is handled properly if slave dies
sql/slave.cc:
  Fixed bug in replication and log rotation
sql/slave.h:
  Ensure that BEGIN / COMMIT is handled properly if slave dies
sql/sql_analyse.cc:
  Moved usage of res before res is destroyed (by bzero(&s...))
sql/sql_yacc.yy:
  Added syntax support for
  
  CREATE TABLE foo (a char CHARACTER SET latin1) CHARSET=latin1;
  
  To be able to read MySQL 4.1 dump files.
2002-12-11 15:46:39 +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
8d0d518ced merge
configure.in:
  Auto merged
sql/field.cc:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
2002-11-07 12:49:01 +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
c88b910208 Portability fixes for Fortre C++ 5.0 (on Sun) in 32 and 64 bit modes.
client/mysqlbinlog.cc:
  Portability fix
configure.in:
  Added use of ASFLAGS (For Solaris with Forte 5.0)
include/my_global.h:
  Portability fix
include/myisam.h:
  Portability fix
include/queues.h:
  Portability fix
innobase/include/ut0ut.h:
  Portability fix
innobase/log/log0log.c:
  Portability fix
innobase/rem/rem0cmp.c:
  Portability fix
innobase/trx/trx0sys.c:
  Portability fix
isam/pack_isam.c:
  Portability fix
myisam/ft_boolean_search.c:
  Portability fix
myisam/mi_dynrec.c:
  Code change to go around bug in Forte 5.0
myisam/sort.c:
  Portability fix
mysys/my_aes.c:
  Portability fix
scripts/Makefile.am:
  Support for ASFLAGS
scripts/mysqlbug.sh:
  Support for ASFLAGS
sql/field.cc:
  Portability fix
sql/filesort.cc:
  Portability fix
sql/gen_lex_hash.cc:
  Portability fix
sql/ha_innodb.cc:
  Portability fix
  Changed SHOW INNODB STATUS to return error instead of writing message to log file.
sql/ha_isammrg.cc:
  Portability fix
sql/ha_myisam.cc:
  Portability fix
sql/ha_myisammrg.cc:
  Portability fix
sql/hash_filo.h:
  Portability fix
sql/hostname.cc:
  Portability fix
sql/item_cmpfunc.h:
  Indentation change
sql/item_func.cc:
  Portability fix
sql/item_func.h:
  Portability fix
sql/log.cc:
  Portability fix
sql/log_event.cc:
  Portability fix
sql/mysql_priv.h:
  Portability fix
sql/mysqld.cc:
  Portability fix
  Fixed bug with rpl_recovery_rank command line option on 64 bit systems
sql/opt_range.cc:
  Portability fix
sql/repl_failsafe.cc:
  Portability fix
sql/slave.cc:
  Portability fix
sql/slave.h:
  Portability fix
sql/sql_acl.cc:
  Portability fix
sql/sql_base.cc:
  Portability fix
sql/sql_cache.cc:
  Portability fix
sql/sql_cache.h:
  Portability fix
sql/sql_class.cc:
  Portability fix
sql/sql_delete.cc:
  Portability fix
sql/sql_insert.cc:
  Portability fix
sql/sql_manager.cc:
  Portability fix
sql/sql_parse.cc:
  Portability fix
BUILD/compile-solaris-sparc-forte:
  C
sql/sql_udf.cc:
  Portability fix
sql/sql_update.cc:
  Portability fix
strings/Makefile.am:
  Portability fix
strings/bmove_upp-sparc.s:
  Fix so that this works on 32 and 64 bit sparcs
strings/str_test.c:
  Cleanup
strings/strappend-sparc.s:
  Fix so that this works on 32 and 64 bit sparcs
strings/strend-sparc.s:
  Fix so that this works on 32 and 64 bit sparcs
strings/strmake-sparc.s:
  Fix so that this works on 32 and 64 bit sparcs
strings/strmov-sparc.s:
  Fix so that this works on 32 and 64 bit sparcs
strings/strnmov-sparc.s:
  Fix so that this works on 32 and 64 bit sparcs
strings/strstr-sparc.s:
  Fix so that this works on 32 and 64 bit sparcs
strings/strxmov-sparc.s:
  Fixes to make this more portable, but it's still not usable on 64 bit systems :(
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2002-11-07 03:54:00 +02:00
unknown
d326428c41 Added Rand_log_event 2002-10-22 15:17:17 -06:00
unknown
0c8ed9baa6 fix (work-around) rpl_log test on FreeBSD. 2002-09-25 18:04:08 -06:00
unknown
f631f93ed8 Changed table_list->name -> table_list->alias to find places where we where using alias instead of table_name.
This should fix some issues where --lower-case-table-names doesn't work properly under windows.


client/mysql.cc:
  Added missing sslopt-case.h
sql/lock.cc:
  Changed table_list->name -> table_list->alias to find places where we where using alias instead of table_name.
sql/log_event.cc:
  Changed table_list->name -> table_list->alias to find places where we where using alias instead of table_name.
sql/mysqld.cc:
  Fixed that --ssl and --skip-ssl works
sql/slave.cc:
  Changed table_list->name -> table_list->alias to find places where we where using alias instead of table_name.
sql/sql_acl.cc:
  Changed table_list->name -> table_list->alias to find places where we where using alias instead of table_name.
sql/sql_base.cc:
  Changed table_list->name -> table_list->alias to find places where we where using alias instead of table_name.
sql/sql_cache.cc:
  Changed table_list->name -> table_list->alias to find places where we where using alias instead of table_name.
sql/sql_handler.cc:
  Changed table_list->name -> table_list->alias to find places where we where using alias instead of table_name.
sql/sql_insert.cc:
  Changed table_list->name -> table_list->alias to find places where we where using alias instead of table_name.
sql/sql_parse.cc:
  Changed table_list->name -> table_list->alias to find places where we where using alias instead of table_name.
sql/sql_show.cc:
  Changed table_list->name -> table_list->alias to find places where we where using alias instead of table_name.
sql/sql_table.cc:
  Changed table_list->name -> table_list->alias to find places where we where using alias instead of table_name.
sql/sql_udf.cc:
  Changed table_list->name -> table_list->alias to find places where we where using alias instead of table_name.
sql/sql_union.cc:
  Changed table_list->name -> table_list->alias to find places where we where using alias instead of table_name.
sql/sql_yacc.yy:
  Changed table_list->name -> table_list->alias to find places where we where using alias instead of table_name.
sql/table.h:
  Changed table_list->name -> table_list->alias to find places where we where using alias instead of table_name.
2002-09-20 14:05:18 +03:00