1. 22 Feb, 2005 1 commit
    • unknown's avatar
      compatibility fixes, crashing tests · c9995ef4
      unknown authored
      include/my_sys.h:
        sol9x86, sunfire100b, qnx compatibility
      mysql-test/t/rpl_rotate_logs.test:
        fix the test
      sql/ha_innodb.cc:
        don't bother
      sql/handler.cc:
        few more ways to crash mysqld :)
      sql/handler.h:
        gdb/safemalloc workaround
      sql/log.cc:
        rotate a binlog on heuristic recover
      sql/mysqld.cc:
        rotate a binlog on heuristic recover
      c9995ef4
  2. 21 Feb, 2005 4 commits
    • unknown's avatar
      f3be13c7
    • unknown's avatar
      bug#8646 - deadlock if long transaction causes binlog rotate · 99379038
      unknown authored
      sql/sql_yacc.yy:
        duplicated symbol removed
      99379038
    • unknown's avatar
      Review of new pushed code (XA & other) · 7f54e80d
      unknown authored
      Portability fixes and cleanups
      Fixed setting of 'res' in mysql_execute_command()
      
      
      sql/handler.cc:
        delete_table() will not return error for not found files if one handler file was found and deleted
      sql/handler.h:
        Incremented MAX_HA so that ndb works again
        Don't convert char pointer to (my_xid*) as we don't know if the address is aligned on 8
      sql/log.cc:
        Indentation fixes
        Simplified loop to find next log
        Fixed race condition in reset_logs that caused mix_innodb_myisam_binlog to fail
      sql/log_event.cc:
        Don't convert char pointer to (my_xid*) as we don't know if the address is aligned on 8
      sql/sql_acl.cc:
        Convert db name directly to avoid extra strmov
      sql/sql_base.cc:
        Added comment
        Removed not needed code
      sql/sql_db.cc:
        Added comment
        Remove not needed code
      sql/sql_parse.cc:
        Always call mysql_rm_db() with lower case db name
        Ensure that 'res' is set correctly in mysql_execute_command()
        (One don't have to set res if one calls my_error() and res should be = 0 for correct commands)
      sql/sql_repl.cc:
        Indentation fixes
        use packet->ptr() instead of packet->c_ptr()
      sql/sql_table.cc:
        Join similar code when table didn't exist in engine
      7f54e80d
    • unknown's avatar
      xa assert fixes · 9e5cf335
      unknown authored
      sql/handler.cc:
        more DBUG
      sql/handler.h:
        increase MAX_HA (ha_archive has its handlerton too)
      sql/log.cc:
        fix assert
      9e5cf335
  3. 20 Feb, 2005 1 commit
  4. 19 Feb, 2005 1 commit
  5. 16 Feb, 2005 1 commit
  6. 10 Feb, 2005 1 commit
    • unknown's avatar
      BUG#6749: If there is no current database, then nothing should be binlogged if · d57dbbab
      unknown authored
      binlog-do-db or binlog-ignore-db are in effect.   (In the future 5.1? 5.0? I think 
      each statement should be verified against the filtering criteria based on the database
      it *uses* and not the *current* one.  But, right now the *current* database is what 
      counts according to the semantics of the manual.)
      
      
      sql/log.cc:
        BUG#6749: If there is no current database, then nothing should be binlogged if
        binlog-do-db or binlog-ignore-db are in effect.   (In the future I think that each 
        statement should be verified against the filtering criteria based on the database
        it *uses* and not the *current* one.  But, right now the *current* database is what 
        counts according to the semantics of the manual.)
      d57dbbab
  7. 09 Feb, 2005 1 commit
    • unknown's avatar
      auto-ROLLBACK if binlog was not closed properly · f3855774
      unknown authored
      auto-commit on Xid_log_event
      
      
      client/mysqlbinlog.cc:
        auto-ROLLBACK if binlog was not closed properly.
      mysql-test/r/ctype_ucs.result:
        results updated
      mysql-test/r/mix_innodb_myisam_binlog.result:
        results updated
      mysql-test/r/mysqlbinlog2.result:
        results updated
      mysql-test/r/rpl_relayrotate.result:
        results updated
      mysql-test/r/user_var.result:
        results updated
      mysql-test/t/ctype_ucs.test:
        finalize binlog before calling mysqlbinlog
      mysql-test/t/user_var.test:
        finalize binlog before calling mysqlbinlog
      sql/log_event.cc:
        commit at Xid_log_event
        comments edited
      sql/mysqld.cc:
        free(0) fixed
      sql/slave.cc:
        rollback at fake Rotate_log_event
      sql/sql_class.h:
        no commit_or_rollback argument for binlog->write(THD *thd, IO_CACHE *cache)
      sql/log.cc:
        don't write "COMMIT" query, Xid_log_event is enough
      sql/log_event.h:
        more comments for LOG_EVENT_BINLOG_IN_USE_F
        LOG_EVENT_FORCE_ROLLBACK_F added
      sql/sql_repl.cc:
        rollback at Rotate_log_event.
        don't consider binlog corrupted if it was open when we read Formar_description but closed when we got to the end
      sql/sql_repl.h:
        style fix
      f3855774
  8. 03 Feb, 2005 1 commit
    • unknown's avatar
      WL#1062 "log charset info into all Query_log_event": · 417c215d
      unknown authored
      we store 7 bytes (1 + 2*3) in every Query_log_event.
      In the future if users want binlog optimized for small size and less safe,
      we could add --binlog-no-charset (and binlog-no-sql-mode etc): charset info
      is something by design optional (even if for now we don't offer possibility to disable it):
      it's not a binlog format change.
      We try to reduce the number of get_charset() calls in the slave SQL thread to a minimum
      by caching the charset read from the previous event (which will often be equal to the one of the current event).
      We don't use SET ONE_SHOT for charset-aware repl (we still do for timezones, will be fixed later).
      No more errors if one changes the global value of charset vars on master or slave
      (as we log charset info in all Query_log_event).
      Not fixing Load_log_event as it will be rewritten soon by Dmitri.
      Testing how mysqlbinlog behaves in rpl_charset.test.
      mysqlbinlog needs to know where charset file is (to be able to convert a charset number found
      in binlog (e.g. in User_var_log_event) to a charset name); mysql-test-run needs to pass
      the correct value for this option to mysqlbinlog.
      Many result udpates (adding charset info into every event shifts log_pos in SHOW BINLOG EVENTS).
      Roughly the same job is to be done for timezones :)
      
      
      client/mysqlbinlog.cc:
        mysqlbinlog needs charsets knowledge, to be able to convert a charset
        number found in binlog to a charset name (to be able to print things
        like this:
        SET @`a`:=_cp850 0x4DFC6C6C6572 COLLATE `cp850_general_ci`;
      mysql-test/mysql-test-run.sh:
        tell mysqlbinlog about charsets dir
      mysql-test/r/ctype_ucs.result:
        different binlogging of charsets results in shifted log_pos and
        one added SET @@CHARACTER_SET... per mysqlbinlog run.
      mysql-test/r/drop_temp_table.result:
        different binlogging of charsets results in shifted log_pos and
        one added SET @@CHARACTER_SET... per mysqlbinlog run.
      mysql-test/r/insert_select.result:
        different binlogging of charsets results in shifted log_pos and
        one added SET @@CHARACTER_SET... per mysqlbinlog run.
      mysql-test/r/mix_innodb_myisam_binlog.result:
        different binlogging of charsets results in shifted log_pos and
        one added SET @@CHARACTER_SET... per mysqlbinlog run.
      mysql-test/r/mysqlbinlog.result:
        different binlogging of charsets results in shifted log_pos and
        one added SET @@CHARACTER_SET... per mysqlbinlog run.
      mysql-test/r/mysqlbinlog2.result:
        different binlogging of charsets results in shifted log_pos and
        one added SET @@CHARACTER_SET... per mysqlbinlog run.
        The log_pos shift is why the SET INSERT_ID=4 event changes position in the result.
      mysql-test/r/rpl_charset.result:
        Running mysqlbinlog to check how it behaves on charset stuff.
        SET ONE_SHOT is now gone.
        Repl of LOAD DATA INFILE is not yet charset-aware (will soon be, when WL#874 is pushed)
        and, anyway result has a dependency on the temp filename (SQL-LOAD-*-[0-9] which is not constant).
        No more errors if one changes global character sets.
      mysql-test/r/rpl_error_ignored_table.result:
        different binlogging of charsets results in shifted log_pos and
        one added SET @@CHARACTER_SET... per mysqlbinlog run.
      mysql-test/r/rpl_flush_log_loop.result:
        different binlogging of charsets results in shifted log_pos and
        one added SET @@CHARACTER_SET... per mysqlbinlog run.
      mysql-test/r/rpl_flush_tables.result:
        different binlogging of charsets results in shifted log_pos and
        one added SET @@CHARACTER_SET... per mysqlbinlog run.
      mysql-test/r/rpl_loaddata.result:
        different binlogging of charsets results in shifted log_pos and
        one added SET @@CHARACTER_SET... per mysqlbinlog run.
      mysql-test/r/rpl_loaddata_rule_m.result:
        different binlogging of charsets results in shifted log_pos and
        one added SET @@CHARACTER_SET... per mysqlbinlog run.
      mysql-test/r/rpl_log.result:
        different binlogging of charsets results in shifted log_pos and
        one added SET @@CHARACTER_SET... per mysqlbinlog run.
      mysql-test/r/rpl_max_relay_size.result:
        different binlogging of charsets results in shifted log_pos and
        one added SET @@CHARACTER_SET... per mysqlbinlog run.
      mysql-test/r/rpl_relayrotate.result:
        different binlogging of charsets results in shifted log_pos and
        one added SET @@CHARACTER_SET... per mysqlbinlog run.
      mysql-test/r/rpl_replicate_do.result:
        different binlogging of charsets results in shifted log_pos and
        one added SET @@CHARACTER_SET... per mysqlbinlog run.
      mysql-test/r/rpl_rotate_logs.result:
        different binlogging of charsets results in shifted log_pos and
        one added SET @@CHARACTER_SET... per mysqlbinlog run.
      mysql-test/r/rpl_temporary.result:
        different binlogging of charsets results in shifted log_pos and
        one added SET @@CHARACTER_SET... per mysqlbinlog run.
      mysql-test/r/rpl_timezone.result:
        different binlogging of charsets results in shifted log_pos and
        one added SET @@CHARACTER_SET... per mysqlbinlog run.
      mysql-test/r/rpl_user_variables.result:
        different binlogging of charsets results in shifted log_pos and
        one added SET @@CHARACTER_SET... per mysqlbinlog run.
      mysql-test/r/user_var.result:
        different binlogging of charsets results in shifted log_pos and
        one added SET @@CHARACTER_SET... per mysqlbinlog run.
      mysql-test/t/rpl_charset.test:
        Running mysqlbinlog to check how it behaves on charset stuff (so, need fixed timestamp).
        SET ONE_SHOT is not printed to binlog anymore, so no need to test if ::exec_event() works ok.
        Repl of LOAD DATA INFILE is not yet charset-aware (will soon be, when WL#874 is pushed)
        and, anyway result has a dependency on the temp filename (SQL-LOAD-*-[0-9] which is not constant).
        No more errors if one changes global character sets.
      mysql-test/t/rpl_user_variables.test:
        different binlogging of charsets results in shifted log_pos and
        one added SET @@CHARACTER_SET... per mysqlbinlog run.
      sql/log.cc:
        No more SET ONE_SHOT for charsets (remains for TZ until solved with Dmitri).
      sql/log_event.cc:
        We now log charset info in each Query_log_event in binlog. It's 2*3 = 6 bytes:
        session character_set_client, session collation_connection, session collation_server.
        Now we would need only one byte per variable, but Bar said 2 is safer for the future.
        When slave or mysqlbinlog reads that info, it needs to get_charset() on these numbers (so, 3 get_charset() calls),
        as most of the time the 6-byte charset info will be equal to the previous event's,
        we cache the previous event's charset and if equal, no need to get_charset().
        As "flags2", SQL_MODE, catalog, autoinc variables, charset info is not a permanent addition:
        in the future we can add options to the master to not log any of these, old 5.0 should be able
        to parse these.
        A little bit of cleanup on autoinc stuff in replication.
        Fixing a bug in Start_log_event_v3::exec_event() where we used rli->relay_log.description_event_for_exec->binlog_version
        while we should use binlog_version (if it's a 3.23 master, that's all that counts; not the fact that the relay log is
        in 5.0 format).
      sql/log_event.h:
        binlogging of charset info in each Query_log_event.
      sql/mysql_priv.h:
        comment
      sql/set_var.cc:
        checks to refuse change of global charset variables are removed: they were needed for 4.1->4.1
        but not for 5.0.3->5.0.3.
        Yes this opens a breach if one does 4.1->5.0.3, where the checks would still be needed. But these checks would need
        reading relay_log.description_event_for_queue, which is currently an object used in many places by the I/O
        thread and only it. So, currently we don't take mutexes for this object, and if we read the object in set_var.cc
        (client thread) we need to add mutexes everywhere, but the replication code is already too broken with mutexes
        now (no consistent use of mutexes); mutex usage in replication should be fixed but preferrably during/after
        multimaster coding as it's going to shuffle mutexes already.
      sql/set_var.h:
        Since we don't forbid global change of charset vars for replication/binlogging,
        don't need specific ::check() methods anymore
      sql/slave.cc:
        Some little debug info which has nothing to do with charsets.
        Disabling master's charset check when slave I/O thread connects.
        Functions for charset caching/invalidating in the slave SQL thread.
      sql/slave.h:
        Cached charset in the slave SQL thread.
      417c215d
  9. 01 Feb, 2005 1 commit
    • unknown's avatar
      open binlog index file *before* tc_log->open() and binlog itself *after* · 0820d47f
      unknown authored
      sql/mysql_priv.h:
        checkpoint: open_log() removed
      sql/sql_yacc.yy:
        checkpoint: open_log() removed
      sql/log.cc:
        split the opening of the .index file and binlog itself - now they are done by separate functions
      sql/slave.cc:
        init_relay_log_info() made static
        split the opening of the .index file and binlog itself - now they are done by separate functions
      sql/slave.h:
        init_relay_log_info() made static
      sql/sql_class.h:
        split the opening of the .index file and binlog itself - now they are done by separate functions
      0820d47f
  10. 27 Jan, 2005 1 commit
    • unknown's avatar
      query_id and my_xid -> ulonglong · 90a7ce5c
      unknown authored
      fix for binlog+autocommit+tclog
      comments, style fixes
      
      
      libmysqld/libmysqld.rc:
        Change mode to -rw-rw-r--
      libmysqld/resource.h:
        Change mode to -rw-rw-r--
      configure.in:
        check for getpagesize
      include/my_global.h:
        typo ?
      include/my_pthread.h:
        bug in thread_safe_decrement_and_test()
      mysql-test/r/bdb.result:
        results updated
      mysql-test/r/innodb.result:
        results updated
      mysql-test/r/mix_innodb_myisam_binlog.result:
        results updated
      mysql-test/r/rpl_relayrotate.result:
        results updated
      sql/ha_berkeley.cc:
        style fixes
      sql/ha_innodb.cc:
        fixes to follow innodb coding style
      sql/handler.cc:
        more comments. XA COMMIT ONE PHASE fix.
      sql/handler.h:
        my_xid -> ulonglong. comments
      sql/item_func.cc:
        DO RELEASE_LOCK("...") is no cache_stmt
      sql/log.cc:
        comments, better error messages
      sql/log_event.cc:
        even in autocommit mode we may need to cache_stmt
        xid is ulonglong
      sql/log_event.h:
        more comments.
      sql/mysql_priv.h:
        query_id is ulonglong
      sql/mysqld.cc:
        default...
      90a7ce5c
  11. 17 Jan, 2005 1 commit
  12. 16 Jan, 2005 1 commit
    • unknown's avatar
      XA (not completely polished out yet) · 63120ffe
      unknown authored
      include/my_pthread.h:
        cleanup. don't use gcc extensions
      innobase/include/trx0sys.ic:
        Jan's fix for innobase_xa_prepare
      innobase/read/read0read.c:
        Jan's fix for innobase_xa_prepare
      innobase/trx/trx0trx.c:
        Jan's fix for innobase_xa_prepare
      mysql-test/include/varchar.inc:
        test fix
      mysql-test/r/ctype_ucs.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/drop_temp_table.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/insert_select.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/mix_innodb_myisam_binlog.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/myisam.result:
        test fix
      mysql-test/r/rpl000015.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_change_master.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_charset.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_error_ignored_table.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_flush_log_loop.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_flush_tables.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_loaddata.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_loaddata_rule_m.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_loaddata_rule_s.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_log.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_log_pos.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_max_relay_size.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_relayrotate.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_replicate_do.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_reset_slave.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_rotate_logs.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_server_id1.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_server_id2.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_temporary.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_timezone.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_until.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_user_variables.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/user_var.result:
        new log event - all binlog positions are changed :(
      mysql-test/t/ctype_ucs.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/mix_innodb_myisam_binlog.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/mysqlbinlog.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/mysqlbinlog2.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/rpl_charset.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/rpl_error_ignored_table.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/rpl_loaddata_rule_m.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/rpl_loaddata_rule_s.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/rpl_log.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/rpl_log_pos.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/rpl_user_variables.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/user_var.test:
        new log event - all binlog positions are changed :(
      mysys/hash.c:
        typo fixed
      sql/ha_berkeley.cc:
        handlerton framework
      sql/ha_berkeley.h:
        handlerton framework
      sql/ha_innodb.cc:
        handlerton framework
      sql/ha_innodb.h:
        handlerton framework
      sql/handler.cc:
        new transaction handling, handlerton framework, two-phase commit, XA support
      sql/handler.h:
        new transaction handling, handlerton framework, two-phase commit, XA support
      sql/lex.h:
        XA commands
      sql/log.cc:
        new transaction handling, handlerton framework, two-phase commit,
        XA support, tc-logging, TC_LOG_MMAP class
      sql/log_event.cc:
        Xid_log_event
      sql/log_event.h:
        Xid_log_event, LOG_EVENT_BINLOG_CLOSED_F flag
      sql/mysql_priv.h:
        wrapper for query_id++
      sql/mysqld.cc:
        new command-line options --log-tc, --log-tc-size, --tc-heuristic-recover,
        new status variables Tc_log_page_size, Tc_log_max_pages_used, Tc_log_page_waits.
        init/stop tc logging
      sql/set_var.h:
        warning fixed
      sql/share/errmsg.txt:
        XA error messages
      sql/sp_head.cc:
        s/query_id++/next_query_id()/
      sql/sql_base.cc:
        typo fixed. new transaction handling.
      sql/sql_class.cc:
        cleanup of THD.transaction
      sql/sql_class.h:
        TC_LOG classes, new status variables, new savepoint handling, XA support
      sql/sql_insert.cc:
        comments
      sql/sql_lex.cc:
        s/found_colon/found_semicolon/
      sql/sql_lex.h:
        SQLCOM_XA_xxx, XA related changes in Lex
      sql/sql_parse.cc:
        cleanup, XA commands, new savepoint handling
      sql/sql_repl.cc:
        two functions moved to log.cc
      sql/sql_repl.h:
        two functions moved to log.cc
      sql/sql_trigger.cc:
        s/lex.name_and_length/lex.ident/
      sql/sql_yacc.yy:
        XA commands, cleanup
      63120ffe
  13. 06 Jan, 2005 1 commit
    • unknown's avatar
      2 small fixes for binlog (sorry for grouping them - I won't do it again): · 740258fd
      unknown authored
      WL#2335 (wait if binlog or binlog index file hits disk full or quota exceeded),
      fix for BUG#7236 ("--expire_logs_days does not apply if all statements
      happen in transactions"), and a behaviour change: abort if mysqld can't start
      binlog at startup (if running with --log-bin of course).
      
      
      sql/log.cc:
        2 small fixes for binlog:
        1) We create binlog and binlog index file with flag MY_WAIT_IF_FULL, so that they have the same
        behaviour as MyISAM tables when disk is full or quota exceeded (wait, try to finish write
        every minute, warn in error log every 10 minutes). That's WL#2335.
        2) Honour expire-log-days when we write a transaction to binlog (we honoured it already when writing
        an autocommit statement). This fixes BUG#7236.
      sql/mysqld.cc:
        If we fail to create binlog or binlog index file or write to them at mysqld's startup, mysqld
        will exit. The former behaviour was to print error and continue, which led to stupid things like
        if you mispell a directory name in --log-bin, you don't immediately notice your mistake and
        you corrupt your recovery/replication. New behaviour is consistent with if you mispelt innodb_data_file_path.
      740258fd
  14. 22 Dec, 2004 1 commit
    • unknown's avatar
      BitKeeper/triggers/pre-delta · 34321ede
      unknown authored
          don't checkin for Administrator or mysqldev
      sql/log.cc@1.157
          restored a bugfix that was lost in a merge
      
      
      sql/log.cc:
        restored a bugfix that was lost in a merge
      BitKeeper/triggers/pre-delta:
        don't commit for Administrator or mysqldev
      34321ede
  15. 10 Dec, 2004 1 commit
    • unknown's avatar
      dict0dict.c, log.cc: · 2c600679
      unknown authored
        Remove accidentally merged 4.0 changes
      dict0dict.c:
        Remove the 4.0 fix accidentally auto-merged to 4.1
      row0mysql.h, dict0dict.h:
        Remove a change auto-merged from 4.0
      
      
      innobase/include/dict0dict.h:
        Remove a change auto-merged from 4.0
      innobase/include/row0mysql.h:
        Remove a change auto-merged from 4.0
      sql/log.cc:
        Remove accidentally merged 4.0 changes
      innobase/dict/dict0dict.c:
        Remove accidentally merged 4.0 changes
      2c600679
  16. 09 Dec, 2004 1 commit
    • unknown's avatar
      Fix for bug #6765 "Implicit access to time zone description · 7b96bc55
      unknown authored
      tables requires privileges for them if some table or column level grants
      present" (with after-review fixes).
      
      We should set SELECT_ACL for implicitly opened tables in 
      my_tz_check_n_skip_implicit_tables() to be able to bypass privilege
      checking in check_grant(). Also we should exclude those tables from
      privilege checking in multi-update.
      
      
      mysql-test/r/timezone2.result:
        Extended test for bug #6116 "SET time_zone := ... requires access to
        mysql.time_zone tables"
        Added test for bug #6765 "Implicit access to time zone description 
        tables requires privileges for them if some table or column level grants
        present"
      mysql-test/t/timezone2.test:
        Extended test for bug #6116 "SET time_zone := ... requires access to
        mysql.time_zone tables"
        Added test for bug #6765 "Implicit access to time zone description 
        tables requires privileges for them if some table or column level grants
        present"
      sql/item_geofunc.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/item_strfunc.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/log.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/mysql_priv.h:
        Now we have to include sql_acl.h before tztime.h, since 
        my_tz_check_n_skip_implicit_tables() defined there requires
        SELECT_ACL constant defined in sql_acl.h.
      sql/mysqld.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/repl_failsafe.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/set_var.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_acl.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_base.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_cache.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_class.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_db.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_derived.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_do.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_insert.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_parse.cc:
        check_one_table_access(): Tweaked comments.
        multi_update_precheck(): Added skipping of implicitly opened tables
          during privilege checking.
      sql/sql_prepare.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_repl.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_show.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_update.cc:
        sql_acl.h is now included via mysql_priv.h
      sql/sql_yacc.yy:
        sql_acl.h is now included via mysql_priv.h
      sql/tztime.h:
        my_tz_check_n_skip_implicit_tables():
          We should set SELECT_ACL for implictly opened tables to be able to
          bypass privilege checking in check_grant().
      7b96bc55
  17. 07 Dec, 2004 1 commit
  18. 03 Dec, 2004 1 commit
    • unknown's avatar
      Bug#6391 (binlog-do-db rules ignored) · 7980920b
      unknown authored
        CREATE DATABASE statement used the current database instead of the
        database created when checking conditions for replication.
        CREATE/DROP/ALTER DATABASE statements are now replicated based on
        the manipulated database.
      
      
      mysql-test/t/rpl_until.test:
        Longer sleep to allow slave to stop.
      mysql-test/t/rpl_charset.test:
        Position change in binary file.
      mysql-test/r/drop_temp_table.result:
        Position change in binlog.
      mysql-test/r/rpl_loaddata_rule_m.result:
        Position change in binlog.
      mysql-test/r/rpl_charset.result:
        Position change in binlog.
      sql/log_event.h:
        Added new flag and parameter to suppress generation of
        USE statements.
      sql/log_event.cc:
        Added parameter and code to suppress generation of
        USE statements.
      sql/sql_db.cc:
        Suppress generation of USE before CREATE/ALTER/DROP DATABASE
        statements.
      sql/log.cc:
        Query_log_event have new extra parameter.
      sql/sql_table.cc:
        Query_log_event have new extra parameter.
      sql/sql_base.cc:
        Query_log_even...
      7980920b
  19. 13 Nov, 2004 1 commit
    • unknown's avatar
      now my_printf_error is not better then my_error, but my_error call is shorter · 065a55e8
      unknown authored
      used only one implementation of format parser of (printf)
      fixed multistatement
      
      
      include/mysqld_error.h:
        newerror messages
      mysql-test/t/key.test:
        unknown error replaced with real error
      mysys/my_error.c:
        my_error & my_printf_error use my_vsprintf
      sql/field_conv.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/ha_innodb.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/handler.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/item.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/item_cmpfunc.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/item_func.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/item_strfunc.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/lock.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/log.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/parse_file.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/procedure.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/protocol.cc:
        no need reset thd->lex->found_colon to break multiline sequance now, send_error called too late
      sql/repl_failsafe.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/set_var.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/share/czech/errmsg.txt:
        new errors converted from unknown error
      sql/share/danish/errmsg.txt:
        new errors converted from unknown error
      sql/share/dutch/errmsg.txt:
        new errors converted from unknown error
      sql/share/english/errmsg.txt:
        new errors converted from unknown error
      sql/share/estonian/errmsg.txt:
        new errors converted from unknown error
      sql/share/french/errmsg.txt:
        new errors converted from unknown error
      sql/share/german/errmsg.txt:
        new errors converted from unknown error
      sql/share/greek/errmsg.txt:
        new errors converted from unknown error
      sql/share/hungarian/errmsg.txt:
        new errors converted from unknown error
      sql/share/italian/errmsg.txt:
        new errors converted from unknown error
      sql/share/japanese/errmsg.txt:
        new errors converted from unknown error
      sql/share/korean/errmsg.txt:
        new errors converted from unknown error
      sql/share/norwegian-ny/errmsg.txt:
        new errors converted from unknown error
      sql/share/norwegian/errmsg.txt:
        new errors converted from unknown error
      sql/share/polish/errmsg.txt:
        new errors converted from unknown error
      sql/share/portuguese/errmsg.txt:
        new errors converted from unknown error
      sql/share/romanian/errmsg.txt:
        new errors converted from unknown error
      sql/share/russian/errmsg.txt:
        new errors converted from unknown error
      sql/share/serbian/errmsg.txt:
        new errors converted from unknown error
      sql/share/slovak/errmsg.txt:
        new errors converted from unknown error
      sql/share/spanish/errmsg.txt:
        new errors converted from unknown error
      sql/share/swedish/errmsg.txt:
        new errors converted from unknown error
      sql/share/ukrainian/errmsg.txt:
        new errors converted from unknown error
      sql/slave.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sp.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sp_head.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_acl.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_analyse.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_base.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_class.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_db.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_delete.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_handler.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_insert.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_load.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_map.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_parse.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
        multi-row command fixed
      sql/sql_prepare.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
        remover send_error ingected from 4.1
      sql/sql_rename.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_repl.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_select.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_show.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_table.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_trigger.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_udf.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_update.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_view.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_yacc.yy:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/table.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      strings/my_vsnprintf.c:
        * format support added to my_vsprint
      065a55e8
  20. 12 Nov, 2004 2 commits
    • unknown's avatar
      post-review fixes · a31c2d3d
      unknown authored
      mysql-test/r/rpl_rotate_logs.result:
        removed host dependence in error messages
      mysql-test/t/rpl_rotate_logs.test:
        removed host dependence in error messages
      mysys/my_error.c:
        comment about using my_error family functions
      sql/filesort.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/ha_innodb.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/handler.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_cmpfunc.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_func.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_strfunc.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_subselect.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_sum.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/lock.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/log.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/mysql_priv.h:
        error check moved to fill_record
      sql/mysqld.cc:
        fixed error messages
      sql/parse_file.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/protocol.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/protocol_cursor.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/repl_failsafe.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/set_var.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/slave.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sp.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sp_head.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sp_rcontext.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_acl.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_analyse.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_base.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
        error check moved to fill_record
      sql/sql_class.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_class.h:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_db.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_delete.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
        error check moved to fill_record
      sql/sql_handler.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_help.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_insert.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
        error check moved to fill_record
      sql/sql_lex.cc:
        layout fixed
      sql/sql_load.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_map.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_parse.cc:
        error check moved to fill_record
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_prepare.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_rename.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_repl.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_select.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_show.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_table.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_trigger.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_udf.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_union.cc:
        error check moved to fill_record
      sql/sql_update.cc:
        error check moved to fill_record
      sql/sql_view.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_yacc.yy:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/table.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/unireg.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      a31c2d3d
    • unknown's avatar
      Mainly resolving Guilhem's 4.1 patch to 5.0 · ef2a5a5c
      unknown authored
      client/mysqlbinlog.cc:
        Resolveing merge
      client/mysqldump.c:
        resolving merge
      sql/handler.cc:
        resolving merge
      sql/lex.h:
        resolve merge
      sql/log.cc:
        resolving merge
      sql/log_event.cc:
        resolving merge
      sql/sql_parse.cc:
        resolving merge
      sql/sql_yacc.yy:
        resolving merge
      ef2a5a5c
  21. 10 Nov, 2004 2 commits
    • unknown's avatar
      More debugging · 3b4ff971
      unknown authored
      Print position in normal log for Binlog dump
      
      
      dbug/dbug.c:
        Added DBUG_OUTPUT() to temporary start/stop trace-file output
        Optimized alignment of CODE_STATE structure
      include/my_dbug.h:
        Added DBUG_OUTPUT() to temporary start/stop trace-file output
      sql/field.cc:
        Safety fix when used with future 5.0 .frm tables
      sql/log.cc:
        More debugging
      sql/mysqld.cc:
        Fixed type
      sql/slave.cc:
        Fixed wrong cast (not a bug)
      sql/sql_class.h:
        More DBUG output
      sql/sql_parse.cc:
        Print position in normal log for Binlog dump
      3b4ff971
    • unknown's avatar
      Fix for BUG#6522 "Replication fails due to a rolled back transaction in the binlog" · 38c6f97d
      unknown authored
      When we are writing a transaction to the binlog, we log BEGIN/COMMIT with zero error code.
      Example: all statements of trans succeeded, connection lost and so implicit rollback:
      we don't want ER_NET* errors to be logged in the BEGIN/ROLLBACK events, while statement
      events have 0. If there was really a serious error code, it's already in the statement events.
      
      
      sql/log.cc:
        When we write the cached binlog segment to disk binlog at COMMIT/ROLLBACK time:
        imagine this is rollback due to net timeout, after all statements of
        the transaction succeeded. Then we want a zero-error code in BEGIN.
        In other words, if there was a really serious error code it's already
        in the transaction's statement events.
      sql/sql_table.cc:
        out of date comment
      38c6f97d
  22. 04 Nov, 2004 1 commit
    • unknown's avatar
      Fix for BUG##5714 "Insert into MyISAM table and select ... for update]": · e2709f46
      unknown authored
      the fact that the transaction log is empty does not mean we're not in a transaction
      (it could be BEGIN; SELECT * FOR UPDATE FROM ibtable: then we don't want to commit now, even if
      the statement is a MyISAM update).
      With a testcase.
      
      
      mysql-test/r/mix_innodb_myisam_binlog.result:
        result update
      mysql-test/t/mix_innodb_myisam_binlog.test:
        test update for a new bug
      sql/log.cc:
        The fact that the transaction log is empty does not mean we're not in a transaction
        (it could be BEGIN; SELECT * FOR UPDATE: then we don't want to commit now).
      e2709f46
  23. 15 Sep, 2004 2 commits
    • unknown's avatar
      Added options --auto-increment-increment and --auto-increment-offset. · 8267fd7a
      unknown authored
      This allows one to setup a master <-> master replication with non conflicting auto-increment series.
      Cleaned up binary log code to make it easyer to add new state variables.
      Added simpler 'upper level' logic for artificial events (events that should not cause cleanups on slave).
      Simplified binary log handling.
      Changed how auto_increment works together with to SET INSERT_ID=# to make it more predictable: Now the inserted rows in a multi-row statement are set independent of the existing rows in the table. (Before only InnoDB did this correctly)
      
      
      
      
      mysql-test/r/mix_innodb_myisam_binlog.result:
        Disable End_log_pos column from 'show binlog events' as this is now different from before
      mysql-test/t/mix_innodb_myisam_binlog.test:
        Disable End_log_pos column from 'show binlog events' as this is now different from before
      sql/ha_berkeley.cc:
        Changed prototype for get_auto_increment()
      sql/ha_berkeley.h:
        Changed prototype for get_auto_increment()
      sql/ha_heap.cc:
        Changed prototype for get_auto_increment()
      sql/ha_heap.h:
        Changed prototype for get_auto_increment()
      sql/ha_innodb.cc:
        Change how auto-increment is calculated.
        Now the auto-increment logic is done in 'update_auto_increment()' to ensure that all handlers has the same auto-increment usage
      sql/ha_innodb.h:
        Changed prototype for get_auto_increment()
      sql/ha_myisam.cc:
        Changed prototype for get_auto_increment()
      sql/ha_myisam.h:
        Changed prototype for get_auto_increment()
      sql/ha_ndbcluster.cc:
        Changed prototype for get_auto_increment()
      sql/ha_ndbcluster.h:
        Changed prototype for get_auto_increment()
      sql/handler.cc:
        Remove some usage of current_thd
        Changed how auto_increment works with SET INSERT_ID to make it more predictable
        (Now we should generate same auto-increment serie on a slave, even if the table has rows that was not on the master.
        Use auto_increment_increment and auto_increment_offset
      sql/handler.h:
        Changed prototype for get_auto_increment()
      sql/log.cc:
        Remove usage of 'set_log_pos()' to make code simpler. (Now log_pos is set in write_header())
        Use 'data_written' instead of 'get_event_len()' to calculate how much data was written in the log
      sql/log_event.cc:
        Simple optimizations.
        Remove cached_event_len (not used variable)
        Made comments fit into 79 chars
        Removed Log_event::set_log_pos(). Now we calculate log_pos in write_header().
        Renamed write_data() to write() as the original write() function was not needed anymore.
        Call writing of event header from event::write() functions. This made it easier to calculate the length of an event.
        Simplified 'write_header' and remove 'switches' from it.
        Changed all write() functions to return 'bool'. (The previous return values where not consistent)
        Store auto_increment_increment and auto_increment_offset in binary log
        Simplified how Query_log_event's where written and read. Now it's much easier to add now status variables for a query event to the binary log.
        Removed some old MySQL 4.x code to make it easier to grep for functions used in 5.0
      sql/log_event.h:
        Changed return type of write() functions to bool. (Before we returned -1 or 1 for errors)
        write_data() -> write()
        Added 'data_written' member to make it easier to get length of written event.
        Removed 'cached_event_len' and 'get_event_len()'
        Added usage of auto_increment_increment and auto_increment_offset
        Added 'artifical_event' to Start_log_event_v3, to hide logic that we in the binary log use log_pos=0 as a flag for an artifical event.
      sql/mysqld.cc:
        Added options --auto-increment-increment and --auto-increment-offset
      sql/set_var.cc:
        Added variables auto_increment_increment and auto_increment_offset
      sql/slave.cc:
        Changed errors -> warnings & information (in error log)
      sql/sql_class.cc:
        Added THD::cleanup_after_query(). This makes some code simpler and allows us to clean up 'next_insert_id' after query
      sql/sql_class.h:
        Added new auto_increment_xxx variables
        Moved some functions/variables in THD class
      sql/sql_help.cc:
        Removed compiler warning
      sql/sql_insert.cc:
        Call 'restore_auto_increment()' if row was not inserted.
        This makes it easier for handler to reuse the last generated auto-incrment value that was not used (for example in case of duplicate key)
      sql/sql_parse.cc:
        Use cleanup_after_query()
      sql/sql_prepare.cc:
        Use cleanup_after_query()
      sql/sql_table.cc:
        R
      8267fd7a
    • unknown's avatar
  24. 08 Sep, 2004 1 commit
    • unknown's avatar
      log.cc: · abda89b4
      unknown authored
        Changed label on INFORMATION log items to NOTE
      
      
      sql/log.cc:
        Changed label on INFORMATION log items to NOTE
      abda89b4
  25. 06 Sep, 2004 2 commits
  26. 04 Sep, 2004 1 commit
    • unknown's avatar
      Print value of Item_param if it has a value (when debugging) · 7e49a21c
      unknown authored
      libmysql/libmysql.c:
        More debug
      sql/item.h:
        Print value of param if it has a value (when debugging)
      sql/log.cc:
        Better variable name
      sql/sql_insert.cc:
        Fix bug casused by merge
      sql/sql_parse.cc:
        Added missing command names (caused crash when running with --debug)
      sql/sql_select.cc:
        More debugging
      sql/sql_yacc.yy:
        Fixed typo
      tests/client_test.c:
        More debugging
      7e49a21c
  27. 29 Aug, 2004 2 commits
    • unknown's avatar
      log.cc: · 6e3e3eae
      unknown authored
        Fixed missing * in comment in setup_windows_event_source
      
      
      sql/log.cc:
        Fixed missing * in comment in setup_windows_event_source
      6e3e3eae
    • unknown's avatar
      Fix for BUG#4500 "set character set replicates incorrectly" · 804238d3
      unknown authored
      We must not reset the charset in slave after each statement, otherwise the SET CHARACTER SET is cancelled immediately.
      Instead, we write a SET CHARACTER SET DEFAULT to the master's binlog when needed (like we already do for SET FOREIGN_KEY_CHECKS);
      such writing is not necessary in 4.1 (in 4.1 the bug does not exist, as the SET ONE_SHOT syntax is used).
      I have written a test and it works, but I'm not pushing the test as it requires building with all charsets.
      I have noticed differences between what is inserted in the master's table in 4.0 and 4.1, and alerted Bar.
      
      
      sql/log.cc:
        When SET CHARACTER SET has been used, we must reset the charset after the writing the statement, in the binlog.
        In 4.1, this resetting is already achieved by the SET ONE_SHOT syntax.
      sql/log_event.cc:
        In slave, we must not simply reset the charset after each statement: if we do this, the charset gets
        immediately after executing the SET CHARACTER SET! (BUG#4500).
      804238d3
  28. 27 Aug, 2004 1 commit
    • unknown's avatar
      Code style fixes. · d15fefa9
      unknown authored
      Initialize LOG_error_log before get_options to not use an uninitalized mutex in case of an error from handle_options()
      
      
      mysql-test/r/lowercase_table.result:
        Changed foo database -> mysqltest
        More test cases
      mysql-test/t/lowercase_table.test:
        Changed foo database -> mysqltest
        More test cases
      mysys/my_getopt.c:
        Fix new code to use MySQL indentation style
      sql/log.cc:
        Change to use MySQL indentation style and naming conventions
        Remove usage of strlen() and strcat()
      sql/mysqld.cc:
        Initialize LOG_error_log before get_options to not use an uninitalized mutex in case of an error from handle_options()
      sql/sql_base.cc:
        Added comment
      sql/table.cc:
        Added #if MYSQL_VERSION_ID < 40100 to ensure code is merged correctly
      d15fefa9
  29. 26 Aug, 2004 1 commit
    • unknown's avatar
      after merge · 0952c705
      unknown authored
      sql/item_row.cc:
        ds20 compat fix
      0952c705
  30. 19 Aug, 2004 2 commits
    • unknown's avatar
      (manual port from 4.0 - was needed) · cc3953ac
      unknown authored
      Fix for BUG#4971 "CREATE TABLE ... TYPE=HEAP SELECT ... stops slave (wrong DELETE in binlog)":
      replacing the no_log argument of mysql_create_table() by some safer method
      (temporarily setting OPTION_BIN_LOG to 0) which guarantees that even the automatic
      DELETE FROM heap_table does not get into the binlog when a not-yet-existing HEAP table
      is opened by mysql_create_table().
      
      
      mysql-test/r/rpl_heap.result:
        result update
      mysql-test/t/rpl_heap.test:
        changing test to test a bug (but anyway, mysql-test-run --manager looks like not working in 4.1 currently,
        so this test is never run).
      sql/log.cc:
        new class Disable_binlog used to temporarily disable binlogging for one thread.
      sql/mysql_priv.h:
        removing argument no_log from mysql_create_table(); no_log was not perfect as some
        binlogging could still be done by open_unireg_entry() for a HEAP table.
      sql/sql_class.h:
        new class Disable_binlog used to temporarily disable binlogging for one thread.
      sql/sql_parse.cc:
        remov...
      cc3953ac
    • unknown's avatar
      Bug #4466 Nothing in .err when mysql service ends because of malformed my.ini options · ab169859
      unknown authored
      mysqld.cc:
        Changed LOGLEVEL enum to loglevel
      mysql_priv.h, log.cc:
        Changed LOGLEVEL to loglevel.  Removed startup_ from some of the DBUG_ENTER macros. Removed the print_msg_to_log function as it was unused.
      my_getopt.c, my_getopt.h:
        Renamed LOGLEVEL to loglevel to match coding standards
      
      
      include/my_getopt.h:
        Renamed LOGLEVEL to loglevel to match coding standards
      mysys/my_getopt.c:
        Renamed LOGLEVEL to loglevel to match coding standards
      sql/log.cc:
        Changed LOGLEVEL to loglevel.  Removed startup_ from some of the DBUG_ENTER macros. Removed the print_msg_to_log function as it was unused.
      sql/mysql_priv.h:
        Changed LOGLEVEL to loglevel.  Removed startup_ from some of the DBUG_ENTER macros. Removed the print_msg_to_log function as it was unused.
      sql/mysqld.cc:
        Changed LOGLEVEL enum to loglevel
      ab169859
  31. 18 Aug, 2004 1 commit
    • unknown's avatar
      Fix for BUG#4971 "CREATE TABLE ... TYPE=HEAP SELECT ... stops slave (wrong DELETE in binlog)": · 090b38b0
      unknown authored
      replacing the no_log argument of mysql_create_table() by some safer method
      (temporarily setting OPTION_BIN_LOG to 0) which guarantees that even the automatic
      DELETE FROM heap_table does not get into the binlog when a not-yet-existing HEAP table
      is opened by mysql_create_table().
      
      
      mysql-test/r/rpl_heap.result:
        result update
      mysql-test/t/rpl_heap.test:
        testing a bug
      sql/log.cc:
        new class Disable_binlog used to temporarily disable binlogging for one thread.
      sql/mysql_priv.h:
        removing argument no_log from mysql_create_table(); no_log was perfect as some
        binlogging could still be done by open_unireg_entry() for a HEAP table.
      sql/sql_class.h:
        new class Disable_binlog used to temporarily disable binlogging for one thread.
      sql/sql_parse.cc:
        removing no_log
      sql/sql_table.cc:
        removing no_log from mysql_create_table(); instead using new class Disable_binlog.
        Disabling binlogging in some cases, where the binlogging is done later by some other code
        (case of CREATE SELECT and ALTER).
      090b38b0