1. 03 Oct, 2006 1 commit
    • unknown's avatar
      Fix for the patch for bug#21726: Incorrect result with multiple · 5f502963
      unknown authored
      invocations of LAST_INSERT_ID.
      
      Reding of LAST_INSERT_ID inside stored function wasn't noted by caller,
      and no LAST_INSERT_ID_EVENT was issued for binary log.
      
      The solution is to add THD::last_insert_id_used_bin_log, which is much
      like THD::last_insert_id_used, but is reset only for upper-level
      statements.  This new variable is used to issue LAST_INSERT_ID_EVENT.
      
      
      mysql-test/r/rpl_insert_id.result:
        For bug#21726, add result for statement-based replication of function
        calls.
      mysql-test/t/rpl_insert_id.test:
        For bug#21726, add test case for statement-based replication of function
        calls.
      sql/item_func.cc:
        Set THD::last_insert_id_used_bin_log for issuing of LAST_INSERT_ID_EVENT.
      sql/log.cc:
        Issue LAST_INSERT_ID_EVENT if THD::last_insert_id_used_bin_log is set.
      sql/set_var.cc:
        Set THD::last_insert_id_used_bin_log for issuing of LAST_INSERT_ID_EVENT.
      sql/sql_class.cc:
        Initialize THD::last_insert_id_used_bin_log.
        Fix typo, add whitespace.
      sql/sql_class.h:
        Add THD::last_insert_id_used_bin_log.
      sql/sql_parse.cc:
        Reset THD::last_insert_id_used_bin_log for upper-level statements.
      sql/sql_select.cc:
        Set THD::last_insert_id_used_bin_log for issuing of LAST_INSERT_ID_EVENT.
      5f502963
  2. 04 Sep, 2006 1 commit
    • unknown's avatar
      bug#21965 - replication · 698f3b7e
      unknown authored
        fix deadlock if master switches log file in parallell with "show master logs"
        
      
      
      sql/log.cc:
        add raw_get_current_log which dont take log mutex
      sql/sql_class.h:
        add raw_get_current_log which dont take log mutex
      sql/sql_repl.cc:
        Fix lock order i.e first log_lock then index_lock
      698f3b7e
  3. 01 Aug, 2006 1 commit
  4. 28 Jun, 2006 1 commit
    • unknown's avatar
      Fixing BUG#17719 "Delete of binlog files fails on Windows" · 3524e191
      unknown authored
       and BUG#19208 "Test 'rpl000017' hangs on Windows".
       Both bugs are caused by attempting to delete an opened
       file and to create immediatedly a new one with the same
       name. On Windows it can be supported only on NT-platforms
       (by using FILE_SHARE_DELETE mode and with renaming the
       file before deletion). Because deleting not-closed files
       is not supported on all platforms (e.g. Win 98|ME) this
       is to be considered harmful and should be eliminated by
       a "code redesign".
      
      
      VC++Files/mysys/mysys.vcproj:
        To be sure that __NT__ is defined for Win configurations.
         Temporary, to be changed in more appropriate way.
      include/my_sys.h:
        Adding my_delete_allow_opened to be invoked to delete
         a (possibly) not closed file on Windows NT-platforms.
      mysys/my_delete.c:
        Adding nt_share_delete() function implementing
         a (possibly) not closed file deletion on Windows NT.
      sql/log.cc:
        MYSQL_LOG::reset_logs(): Deleting usually not
         closed binlog files.
      3524e191
  5. 12 Jun, 2006 1 commit
    • unknown's avatar
      Bug #16206: Superfluous COMMIT event in binlog when updating BDB in autocommit · 75ad6773
      unknown authored
      	mode
      
      This is a modification of serg's and guilhem's suggestion in the bug report,
      in that it also causes the transaction log to be written to disc.
      
      
      mysql-test/r/bdb.result:
        Add result.
      mysql-test/t/bdb.test:
        Add test
      sql/log.cc:
        Create a log-committing event that itself won't be written to the log when 
        we're in autocommit mode.
      sql/log_event.cc:
        Add a new subclass of Query_log_event that doesn't write itself to the log, for
        cases where we only want to flush out the transaction and not also write about
        this event.
      sql/log_event.h:
        Add a new subclass of Query_log_event that doesn't write itself to the log, for
        cases where we only want to flush out the transaction and not also write about
        this event.
      75ad6773
  6. 31 Mar, 2006 1 commit
  7. 18 Feb, 2006 1 commit
    • unknown's avatar
      Fix for BUG#16559 "Replication Problems with Non transactional tables inside... · 94beb83b
      unknown authored
      Fix for BUG#16559 "Replication Problems with Non transactional tables inside an interrupted trans.":
      problem was: when a connection disconnects having an open transaction affecting MyISAM and InnoDB, the ROLLBACK event stored in the binary log
      contained a non-zero error code (1053 because of the disconnection), so when slave applied the transaction, slave complained that its ROLLBACK succeeded
      (error_code=0) while master's had 1053, so slave stopped. But internally generated binlog events such as this ROLLBACK
      should always have 0 as error code, as is true in 4.1 and was accidentally broken in 5.0,
      so that there is no false alarm.
      
      
      mysql-test/r/mix_innodb_myisam_binlog.result:
        result update
      mysql-test/t/mix_innodb_myisam_binlog.test:
        test for BUG#16559
      sql/log.cc:
        Internally generated binlog events should always have an error code of zero (like in 4.1; in 5.0 this was accidentally broken).
      94beb83b
  8. 20 Nov, 2005 1 commit
    • unknown's avatar
      Inefficient usage of String::append() fixed. · 5e047f6b
      unknown authored
      Bad examples of usage of a string with its length fixed.
      The incorrect length in the trigger file configuration descriptor
        fixed (BUG#14090).
      A hook for unknown keys added to the parser to support old .TRG files.
      
      
      sql/field.cc:
        Inefficient usage of String::append() fixed.
        Bad examples of usage of a string with its length fixed.
      sql/ha_berkeley.cc:
        A bad example of usage of a string with its length fixed.
      sql/ha_federated.cc:
        Inefficient usage of String::append() fixed.
      sql/ha_myisammrg.cc:
        Bad examples of usage of a string with its length fixed.
      sql/handler.cc:
        Inefficient usage of String::append() fixed.
      sql/item.cc:
        Bad examples of usage of a string with its length fixed.
      sql/item.h:
        A bad example of usage of a string with its length fixed.
      sql/item_cmpfunc.cc:
        Bad examples of usage of a string with its length fixed.
      sql/item_func.cc:
        Bad examples of usage of a string with its length fixed.
      sql/item_strfunc.cc:
        Bad examples of usage of...
      5e047f6b
  9. 14 Nov, 2005 2 commits
    • unknown's avatar
      Import patch for bug #13377 from current 5.0 bk tree. · d6dc5299
      unknown authored
      include/my_global.h:
        Import patch 00.txt
      include/my_sys.h:
        Import patch 00.txt
      mysys/my_create.c:
        Import patch 00.txt
      mysys/my_open.c:
        Import patch 00.txt
      sql/log.cc:
        Import patch 00.txt
      sql/sql_class.h:
        Import patch 00.txt
      sql/sql_repl.cc:
        Import patch 00.txt
      d6dc5299
    • unknown's avatar
      Fixes bug #13377. my_open() & my_create() functions changed to use · f4e25c50
      unknown authored
      my_sopen() on win32 which allows to use FILE_SHARE_DELETE flag to 
      allow deleting opened files. my_sopen() implementation is added to
      support this functionality.
      
      
      include/my_global.h:
        Fixes bug #13377. Added number of constants for share delete file
        open option.
      include/my_sys.h:
        Fixes bug #13377. Added my_sopen function.
      mysys/my_create.c:
        Fixes bug #13377. my_create() function changed to use my_sopen() and which allows
        to use FILE_SHARE_DELETE flag on win32, which helps in deleting opened files.
      mysys/my_open.c:
        Fixes bug #13377. my_open() function changed to use my_sopen() on win32
        which allows to use FILE_SHARE_DELETE flag to allow deleting opened files.
      sql/log.cc:
        Fixes bug #13377. Additional patch - remove reference counting for
        opened binlog files, introduced in initial patch of #13377.
      sql/sql_class.h:
        Fixes bug #13377. Additional patch - remove reference counting for
        opened binlog files, introduced in initial patch of #13377.
      sql/sql_repl.cc:
        Fixes bug #13377. Additional patch - remove reference counting for
        opened binlog files, introduced in initial patch of #13377.
      f4e25c50
  10. 10 Nov, 2005 1 commit
    • unknown's avatar
      Added handlerton flag to make storage engines invisable via flag. · b816696e
      unknown authored
      mysql-test/r/ps_1general.result:
        Remove binlog from visable engine list.
      sql/handler.h:
        Added documentation to HTON's
      sql/log.cc:
        binlog now has hidden flag show that it does now show up in show storage engine list.
      sql/sql_show.cc:
        Flag removes engines from view in show storage engines
      b816696e
  11. 04 Nov, 2005 1 commit
    • unknown's avatar
      Reorder struct elements to be more optimal for 64 bit computers · 74f97cd9
      unknown authored
      (Main reason for reordering was to get rid of compiler warnings for order of element initialization)
      
      
      sql/log.cc:
        Remove compiler warning
      sql/sql_class.h:
        Reorder MYSQL_LOG struct elements to be more optimal for 64 bit computers
        (Main reason for reordering was to get rid of compiler warnings for order of element initialization)
      74f97cd9
  12. 02 Nov, 2005 1 commit
  13. 27 Oct, 2005 1 commit
    • unknown's avatar
      Fixes during review of pushed code · 0f33a2ed
      unknown authored
      Added back missing return in mysql_delete()
      
      
      mysql-test/my_manage.c:
        Cleanup: Remove some #ifdef
      mysql-test/r/drop_temp_table.result:
        Delete database that may be left from other test
      mysql-test/t/drop_temp_table.test:
        Delete database that may be left from other test
      sql/log.cc:
        false -> FALSE
        true -> TRUE
        Wait until readers_count is 0 (not just for a signal)
        
        NOTE: it's very likely that the way to handle readers_count is wrong.
        (We are in pthread_cond_wait freeing a mutex that is not the innermost mutex,
        which can lead to deadlocks)
        
        I will talk with Guilhem about this ASAP
      sql/log_event.h:
        Remove number from last even to help future merges
        (all compilers I know of can handle this properly)
      sql/sql_delete.cc:
        Add back missing RETURN (was lost in a merge)
        Indentation fixes
      0f33a2ed
  14. 17 Oct, 2005 2 commits
  15. 12 Oct, 2005 1 commit
    • unknown's avatar
      Fix for BUG#13023: "SQL Thread is up but doesn't move forward". Details in slave.cc; · d536481f
      unknown authored
      in short we now record whenever the slave I/O thread ignores a master's event because of its server id,
      and use this info in the slave SQL thread to advance Exec_master_log_pos. Because if we
      do not, this variable stays at the position of the last executed event, i.e. the last *non-ignored*
      executed one, which may not be the last of the master's binlog (and so the slave *looks* behind
      the master though it's data-wise it's not).
      
      
      mysql-test/t/rpl_dual_pos_advance-master.opt:
        empty; its goal is just to trigger a server restart after running the test,
        so that the master forgets that it was a slave (otherwise it affects the following tests).
      sql/log.cc:
        No more default arguments for Rotate_log_event constructor.
        MYSQL_LOG::appendv() is now called without mutex.
      sql/log_event.cc:
        Moving one Rotate_log_event constructor from log_event.h. Support for on-demand choice of
        duplicating the string argument of the constructor or not (because there now are needs for both
        alternatives, see slave.cc).
      sql/log_event.h:
        We now have a case where a Rotate_log_event is executed by the slave SQL thread while
        not being in the relay log, so it needs to pretend its length is 0: a ZERO_LEN flag for that;
        a flag DUP_NAME (replaces "bool alloced") to be able to choose if we want the constructor
        to duplicate the string argument or not.
      sql/slave.cc:
        A comment for BUG#13861 (to be fixed). llstr() instead of %ld as the number is ulonglong.
        mi->rli becomes rli in some places.
        Fix for BUG#13023:
        - in the slave I/O thread, whenever we ignore an event because of its server id we update
        a couple of coordinates in memory
        - in the slave SQL thread, whenever we bump into the end of the latest relay log, we check
        this couple of coordinates to see if we should advance our Exec_master_log_pos.
        - when the slave I/O thread terminates it saves these in-memory coordinates into a Rotate event
        in the relay log, so that they are durable.
      sql/slave.h:
        A couple of coordinates in RELAY_LOG_INFO to keep track of the last ignored events received
        by the slave I/O thread (ignored because of the server id).
      mysql-test/r/rpl_dual_pos_advance.result:
        New BitKeeper file ``mysql-test/r/rpl_dual_pos_advance.result''
      mysql-test/t/rpl_dual_pos_advance.test:
        Test for BUG#13023 (with a part, disabled, to test BUG#13861 when I fix it).
        Before the fix, this test used to hang.
      d536481f
  16. 06 Oct, 2005 1 commit
  17. 04 Oct, 2005 1 commit
    • unknown's avatar
      Some fixes including implicit declaration of a function, · 71bf62c7
      unknown authored
      using wrong type in assignment etc.
      
      
      cmd-line-utils/readline/complete.c:
        Fixed problem with implicitely defining wcwidth() in case when
        compiling with icc.
      cmd-line-utils/readline/display.c:
        Fixed problem with implicitely defining wcwidth() in case when
        compiling with icc.
      cmd-line-utils/readline/mbutil.c:
        Fixed problem with implicitely defining wcwidth() in case when
        compiling with icc.
      server-tools/instance-manager/protocol.cc:
        Fixed some types from int to char. Made ERROR_PACKET_CODE
        static global variable in this file.
      sql/log.cc:
        Removed warning of unused goto when not in debug mode.
      71bf62c7
  18. 03 Oct, 2005 2 commits
    • unknown's avatar
      Fixes bug #13377. Added code to close active log files in case · 76d4d4d4
      unknown authored
      of log reset condition.
      
      
      sql/log.cc:
        Added references counter of binlog readers to wait for closing opened log
        files by al readers for binary log reset.
      sql/slave.cc:
        Added a code to close opened relay log files, when they are not used anymore.
      sql/sql_class.h:
        Added declarations to maintain references count of binlog readers.
        Added reset log wait condition.
      sql/sql_repl.cc:
        Added code to close active log files in case of log reset condition.
      76d4d4d4
    • unknown's avatar
      Next big patch for loadable storage engines! · 1cb47ed1
      unknown authored
      Handlerton array is now created instead of using sys_table_types_st. All storage engines can now have inits and giant ifdef's are now gone for startup. No compeltely clean yet, handlertons will next be merged with sys_table_types. Federated and archive now have real cleanup if their inits fail. 
      
      
      sql/examples/ha_archive.cc:
        Modifications for new ha_init code. The init method now checks for errors and will not start up if the errors occur.
      sql/examples/ha_archive.h:
        Change for new init method.
      sql/examples/ha_example.cc:
        New handlerton pieces.
      sql/examples/ha_tina.cc:
        New handlerton pieces.
      sql/ha_berkeley.cc:
        New handlerton pieces, plus changes for ha_init changes. I'm not happy with our current "skip" setup.
      sql/ha_berkeley.h:
        Change in init return.
      sql/ha_blackhole.cc:
        Changes for new handlerton pieces.
      sql/ha_federated.cc:
        Changes for new handlerton and true cleanup code.
      sql/ha_heap.cc:
        Changes for new handlerton returns.
      sql/ha_innodb.cc:
        Changes for handlerton code.
      sql/ha_innodb.h:
        Change in init.
      sql/ha_myisam.cc:
        Changes for additional handlerton bits.
      sql/ha_myisammrg.cc:
        Changes for  new handlerton bits.
      sql/ha_ndbcluster.cc:
        Changes for new handlerton bits.
      sql/ha_ndbcluster.h:
        Changes for handlerton bits.
      sql/handler.cc:
        Changes for ditching show_table_type_st types, and collapsing it into a handlerton array. The ha_init now just loops through all handlers to init (much cleaner...). handlertons and sys_table_types should be merged next.
      sql/handler.h:
        Additions for sys_table_types
      sql/log.cc:
        Clean up of binlog for changes in handlerton
      sql/mysql_priv.h:
        Removed unneeded define for binlog_init
      sql/sql_show.cc:
        Changes for change in handlerton to sys_table_types
      1cb47ed1
  19. 20 Sep, 2005 1 commit
    • unknown's avatar
      WL#2787 (Add view definer/owner to the view definition (.frm) to check... · a95d74bb
      unknown authored
      WL#2787 (Add view definer/owner to the view definition (.frm) to check privileges on used tables and stored routines when using a VIEW.)
      Part 2 postreview fixes.
      
      
      sql/ha_innodb.cc:
        Renamed structure st_security_context to class Security_context
      sql/item_func.cc:
        Renamed structure st_security_context to class Security_context
      sql/item_strfunc.cc:
        fixed USER() function
      sql/log.cc:
        variable used to optimize access to security context
      sql/mysql_priv.h:
        Renamed structure st_security_context to class Security_context
      sql/mysqld.cc:
        main security context used direcly
      sql/sp_head.cc:
        Renamed structure st_security_context to class Security_context
        removed unneed variable
      sql/sp_head.h:
        Comment inmroved
        Renamed structure st_security_context to class Security_context
      sql/sql_acl.cc:
        Renamed structure st_security_context to class Security_context
        fixed function comment and return value
        variable used to optimize access to security context
        Renamed method of Security_ontext
      sql/sql_acl.h:
        fixed return value type
      sql/sql_class.cc:
        Renamed structure st_security_context to class Security_context
      sql/sql_class.h:
        Renamed structure st_security_context to class Security_context
        Method renamed
      sql/sql_db.cc:
        Renamed structure st_security_context to class Security_context
        fixed layout
      sql/sql_parse.cc:
        registration of wanted access for underlying tables
      sql/sql_show.cc:
        Renamed structure st_security_context to class Security_context
        fixed layout
      sql/sql_yacc.yy:
        Renamed structure st_security_context to class Security_context
      a95d74bb
  20. 16 Sep, 2005 1 commit
    • unknown's avatar
      log.cc: · bbe9b529
      unknown authored
        Cast my_munmap() argument to be able to compile on Solaris
      
      
      sql/log.cc:
        Cast my_munmap() argument to be able to compile on Solaris
      bbe9b529
  21. 15 Sep, 2005 1 commit
    • unknown's avatar
      WL#2787 (part 2, ver 3 (merged)) changed securety context switching · e80e4b10
      unknown authored
      libmysqld/lib_sql.cc:
        changed securety context switching
      mysql-test/r/rpl_sp.result:
        now it show real information from changed security context of SP (checked)
      sql/ha_innodb.cc:
        changed securety context switching
      sql/item.cc:
        changed securety context switching
      sql/item_func.cc:
        changed securety context switching
      sql/item_strfunc.cc:
        changed securety context switching
      sql/log.cc:
        changed securety context switching
      sql/mysql_priv.h:
        changed securety context switching
      sql/mysqld.cc:
        changed securety context switching
      sql/repl_failsafe.cc:
        changed securety context switching
      sql/set_var.cc:
        changed securety context switching
      sql/slave.cc:
        changed securety context switching
      sql/sp.cc:
        changed securety context switching
      sql/sp_head.cc:
        changed securety context switching
        in case of inability to switch context  we return error now
      sql/sp_head.h:
        changed securety context switching
      sql/sql_acl.cc:
        changed securety context switching
      sql/sql_acl.h:
        changed securety context switching
      sql/sql_base.cc:
        changed securety context switching
      sql/sql_class.cc:
        changed securety context switching
      sql/sql_class.h:
        changed securety context switching
      sql/sql_db.cc:
        changed securety context switching
      sql/sql_insert.cc:
        changed securety context switching
      sql/sql_parse.cc:
        changed securety context switching
      sql/sql_show.cc:
        changed securety context switching
      sql/sql_trigger.cc:
        changed securety context switching
      sql/sql_view.cc:
        changed securety context switching
      sql/sql_yacc.yy:
        changed securety context switching
      e80e4b10
  22. 07 Sep, 2005 1 commit
    • unknown's avatar
      Fix for BUG#12637: Make SPs+user variables replication work: · c4dc984a
      unknown authored
      * Allocate thd->user_var_events elements on appropriate mem_root
      * If several SP statements are binlogged as a single statement, collect all user var
        accesses they make (grep for StoredRoutinesBinlogging for details)
      
      
      mysql-test/r/rpl_sp_effects.result:
        Testcase for BUG#12637
      mysql-test/r/sp.result:
        re-enabled test case for BUG#12297
      mysql-test/t/rpl_sp_effects.test:
        Testcase for BUG#12637
      mysql-test/t/sp.test:
        re-enabled test case for BUG#12297
      sql/item_func.cc:
        Fix for BUG#12637: Make SPs+user variables replication work:
        * Allocate thd->user_var_events elements on appropriate mem_root
        * If several SP statements are binlogged as a single statement, collect all user var
          accesses they make.
      sql/log.cc:
        Fix for BUG#12637: Make SPs+user variables replication work:
        * Allocate thd->user_var_events elements on appropriate mem_root
        * If several SP statements are binlogged as a single statement, collect all user var
          accesses they make.
      sql/sp_head.cc:
        Fix for BUG#12637: Make SPs+user variables replication work:
        * Allocate thd->user_var_events elements on appropriate mem_root
        * If several SP statements are binlogged as a single statement, collect all user var
          accesses they make.
      sql/sp_head.h:
        Remove compiler warning.
      sql/sql_class.h:
        Fix for BUG#12637: Make SPs+user variables replication work.
      sql/sql_parse.cc:
        Fix for BUG#12637: Make SPs+user variables replication work.
      c4dc984a
  23. 26 Aug, 2005 1 commit
    • unknown's avatar
      Slightly amended Monty's SP replication code cleanup patch · aab0abb8
      unknown authored
      sql/item.cc:
        Code cleanup
      sql/item.h:
        Code cleanup
      sql/log.cc:
        Added comments
      sql/sp_head.cc:
        Code cleanup patch from Monty: 
        in subst_spvars()
        - Move local variables first in block
        - Use res|= instead of res |=
        - Use strmake() instead of alloc + memcpy
        Added:
        - Fail the query if we don't have enough memory to produce a binlog-suitable query string: 
          if we're so low on memory we're likely to fail the query anyway, and failing now removes
          the need for hack with THD::query_str_binlog_suitable.
      sql/sql_class.cc:
        Remove THD::query_str_binlog_unsuitable
      sql/sql_class.h:
        Remove THD::query_str_binlog_unsuitable
      sql/sql_delete.cc:
        Remove THD::query_str_binlog_unsuitable
      sql/sql_insert.cc:
        Remove THD::query_str_binlog_unsuitable
      sql/sql_parse.cc:
        Code cleanup
      sql/sql_update.cc:
        Remove THD::query_str_binlog_unsuitable
      aab0abb8
  24. 25 Aug, 2005 1 commit
    • unknown's avatar
      Fix for BUG#12335 (SP replication) : New binlogging strategy for stored PROCEDUREs/FUNCTIONs. · b45f0cd0
      unknown authored
      "Interleaved SPs execution is now binlogged properly, "SELECT spfunc()" is binlogged too.
      The known remaining issue is binlogging/replication of "a routine is deleted while it is executed" scenario.
      
      
      mysql-test/r/rpl_sp.result:
        Fix for BUG#12335: updated test cases/results
      mysql-test/t/rpl_sp.test:
        Fix for BUG#12335: updated test cases/results
      sql/item.cc:
        Fix for BUG#12335 (SP replication): 
         - Added Item_name_const 'function'
         - Addede 'delete reuse' to call dtor on item reuse
      sql/item.h:
        Fix for BUG#12335 (SP replication) : Added Item_name_const 'function' + code cleanup
      sql/item_create.cc:
         Fix for BUG#12335 (SP replication) : Added Item_name_const 'function'
      sql/item_create.h:
         Fix for BUG#12335 (SP replication) : Added Item_name_const 'function'
      sql/item_func.cc:
        Fix for BUG#12335 (SP replication) : binary log is now constrolled from within execute_function.
      sql/lex.h:
        Fix for BUG#12335 (SP replication) : Added Item_name_const 'function'
      sql/log.cc:
        Fix for BUG#12335 (SP replication) : Added MYSQL_LOG::{start|stop}_union_events to allow
        one to temporary disable binlogging but collect a 'union' information about binlog write
        calls.
      sql/mysql_priv.h:
        Fix for BUG#12335 (SP replication)
      sql/sp_head.cc:
        Fix for BUG#12335 (SP replication) : Now we use different SP binlogging strategy, grep for 
        StoredRoutinesBinlogging for details
      sql/sp_head.h:
        Comments added
      sql/sp_pcontext.h:
        Comments added
      sql/sp_rcontext.h:
        Comments added
      sql/sql_class.cc:
        Fix for BUG#12335 (SP replication) : Now we use different SP binlogging strategy, grep for 
        StoredRoutinesBinlogging for details
      sql/sql_class.h:
        Fix for BUG#12335 (SP replication) : Added MYSQL_LOG::{start|stop}_union_events to allow
        one to temporary disable binlogging but collect a 'union' information about binlog write
        calls.
      sql/sql_delete.cc:
        Fix for BUG#12335: check THD::query_str_binlog_unsuitable when writing to binlog.
      sql/sql_insert.cc:
        Fix for BUG#12335: check THD::query_str_binlog_unsuitable when writing to binlog.
      sql/sql_lex.cc:
        Fix for BUG#12335 (SP replication): Add ability to extract previous returned token from
        the tokenizer.
      sql/sql_lex.h:
        Fix for BUG#12335 (SP replication): Add ability to extract previous returned token from
        the tokenizer.
      sql/sql_parse.cc:
        Fix for BUG#12335 (SP replication) : Now we use different SP binlogging strategy, grep for 
        StoredRoutinesBinlogging for details
      sql/sql_update.cc:
        Fix for BUG#12335: check THD::query_str_binlog_unsuitable when writing to binlog.
      sql/sql_yacc.yy:
        Fix for BUG#12335 (SP replication) : When creating Item_splocal, remember where it is located
        in the query.
      b45f0cd0
  25. 31 Jul, 2005 1 commit
    • unknown's avatar
      Fixes during review of new pushed code · f5589f21
      unknown authored
      Change bool in C code to my_bool
      Added to mysqltest --enable_parsning and --disable_parsing to avoid to have to comment parts of tests
      Added comparison of LEX_STRING's and use this to compare file types for view and trigger files.
      
      
      client/client_priv.h:
        Added OPT_TRIGGERS (to get rid of compiler warning)
      client/mysql.cc:
        Added cast to get rid of compiler warning
      client/mysqldump.c:
        Added OPT_TRIGGERS (to get rid of compiler warning)
        Abort if we can't write to outfile (even if --ignore-errors is given)
      client/mysqltest.c:
        Added --enable_parsning and --disable_parsing to avoid to have to comment parts of tests
      include/my_sys.h:
        Make my_progname const
      include/my_time.h:
        Avoid using 'bool' in C programs
      mysql-test/lib/init_db.sql:
        Align with mysql_create_system_tables
        (Ideally this file should be auto-generated from the above script)
      mysql-test/r/mysqltest.result:
        Test for --enable_parsing
      mysql-test/r/variables.result:
        Update results after fix for overflow checking of max_heap_table_size
      mysql-test/t/information_schema.test:
        USe --enable/disable parsing instead of comments
      mysql-test/t/mysqltest.test:
        Test for --enable_parsing
      mysql-test/t/sp.test:
        USe --enable/disable parsing instead of comments
      mysql-test/t/variables.test:
        Portability fix for 64 bit systems
      mysql-test/t/view.test:
        USe --enable/disable parsing instead of comments
      mysys/my_init.c:
        May my_progname const
      mysys/my_static.c:
        May my_progname const
      mysys/thr_lock.c:
        Remove not needed casts
      sql-common/my_time.c:
        Change bool -> my_bool as bool is not portable in C programs
      sql/field.cc:
        Test number_to_datetime() for -1 instead of < 0 (Safety fix)
        New prototype for TIME_to_timestamp()
      sql/item.h:
        Don't have prototypes for both uint32 and ulong as these 'may' be the same thing
      sql/item_timefunc.cc:
        New prototype for TIME_to_timestamp()
      sql/log.cc:
        Remove compiler warnings
      sql/mysql_priv.h:
        New prototype for TIME_to_timestamp()
        Added function for comparing LEX_STRING
      sql/set_var.cc:
        Added overflow checking when setting ulong variable
      sql/sql_base.cc:
        Added function is_equal()
        Changed strncmp -> is_equal() as strncmp() to not match "V" (instead of "VIEW")
      sql/sql_class.cc:
        Added comment
      sql/sql_select.cc:
        Portability fixes
        After review fixes
      sql/sql_trigger.cc:
        Use 'tables_alias_charset' for comparing database name
        Use 'is_equal()' to compare file type. (Old code didn't do the comparison correctly)
      sql/sql_view.cc:
        Use 'is_equal()' to compare file type. (Old code didn't do the comparison correctly)
      sql/time.cc:
        New prototype for TIME_to_timestamp() to allow easyer mapping to C function
      sql/tztime.cc:
        bool -> my_bool (to allow calling C code from C++ code)
      sql/tztime.h:
        bool -> my_bool (to allow calling C code from C++ code)
      f5589f21
  26. 28 Jul, 2005 1 commit
    • unknown's avatar
      Cleanups during review of new code · c8e2aee9
      unknown authored
      Ensure mysql_close() is called if mysql_set_character_set() fails
      
      
      libmysql/libmysql.c:
        Indentation cleanup
      mysql-test/r/select.result:
        Fix bad merge & align code with 4.1
      mysql-test/r/type_newdecimal.result:
        Added test of extreme case
      mysql-test/t/select.test:
        Fix bad merge & align code with 4.1
      mysql-test/t/type_newdecimal.test:
        Added test of extreme case
      mysys/charset.c:
        Removed not used variable
      mysys/default.c:
        Simplify code
      sql-common/client.c:
        Ensure mysql_close() is called if mysql_set_character_set() fails
      sql/log.cc:
        strmov(strmov())  -> strxmov()
      sql/sp.cc:
        Indentation fixes
      sql/sql_acl.cc:
        Indentation fixes
      sql/sql_base.cc:
        Added commments
        Moved variable to inner block
      sql/sql_show.cc:
        Simple optimization (removed loop variable)
      sql/sql_trigger.cc:
        strmov(strmov())  -> strxmov()
      strings/decimal.c:
        Indentation fixes
      c8e2aee9
  27. 18 Jul, 2005 1 commit
    • unknown's avatar
      Cleanups during review · 2e9d6d7e
      unknown authored
      Changed defaults option --instance to --defaults-group-suffix
      Changed option handling to allow --defaults-file, --defaults-extra-file and --defaults-group-suffix to be given in any order
      Changed MYSQL_INSTANCE to MYSQL_GROUP_SUFFIX
      mysql_print_defaults now understands --defaults-group-suffix
      Remove usage of my_tempnam() (not safe function)
      if( -> if ( and while( to while (
      
      
      BitKeeper/deleted/.del-my_tempnam.c~a8562f15dad3012f:
        Delete: mysys/my_tempnam.c
      VC++Files/client/mysqlclient.dsp:
        Remove not used file my_tempnam.c
      VC++Files/client/mysqlclient_ia64.dsp:
        Remove not used file my_tempnam.c
      VC++Files/libmysql/libmysql.dsp:
        Remove not used file my_tempnam.c
      VC++Files/libmysql/libmysql_ia64.dsp:
        Remove not used file my_tempnam.c
      VC++Files/mysys/mysys.dsp:
        Remove not used file my_tempnam.c
      VC++Files/mysys/mysys_ia64.dsp:
        Remove not used file my_tempnam.c
      client/mysql.cc:
        Change to use get_defaults_options()
        Remove compiler warnings
      client/mysqldump.c:
        Indentation fixes
        Use quoted table name for 'primary_key_fields'
      extra/my_print_defaults.c:
        Add support for --defaults-group-suffix
        change to use get_default_options()
      extra/replace.c:
        Replace my_tempnam() with create_tmp_file() to allow us to remove my_tempnam.c
      include/config-win.h:
        Added DEFAULT_GROUP_SUFFIX_ENV
      include/my_sys.h:
        Change defaults_instance -> defaults_group_suffix
        Change get_defaults_files -> get_defaults_options
      libmysql/Makefile.shared:
        Added DEFAULT_GROUP_SUFFIX_ENV
      mysys/Makefile.am:
        Added DEFAULT_GROUP_SUFFIX_ENV
        Remove my_tempnam.c
      mysys/default.c:
        Changed --instance to --defaults-group-suffix
        Changed MYSQL_INSTANCE to MYSQL_GROUP_SUFFIX and moved the name to Makefile.am
        (mysys shouldn't by MySQL independent)
        Changed option handling to allow --defaults-file, --defaults-extra-file and --defaults-group-suffix to be given in any order
      mysys/default_modify.c:
        Optimized code to use allocated space more efficently
        Reduce code size
        Ensure that realloc() works independent of argument size
      mysys/my_bitmap.c:
        Added missing return
      sql/ha_innodb.cc:
        Change if( -> if (
      sql/ha_ndbcluster.cc:
        Change while( -> while (
      sql/item_cmpfunc.cc:
        Break loop early (simple optimization)
      sql/item_strfunc.cc:
        Change if( -> if (
      sql/log.cc:
        Fixed comment
      sql/mysqld.cc:
        Change if( -> if (
      sql/opt_range.cc:
        while( -> while (
        if( -> if (
      sql/parse_file.cc:
        Change if( -> if (
      sql/sql_cache.cc:
        while( -> while (
      sql/sql_parse.cc:
        Change if( -> if (
      sql/sql_prepare.cc:
        Added comment
      sql/sql_select.cc:
        while( -> while (
        Removed index variable by incrementing pointer
      sql/sql_show.cc:
        Change if( -> if (
      sql/sql_yacc.yy:
        Change if( -> if (
      tests/mysql_client_test.c:
        Added cast to first argument to bzero()
      2e9d6d7e
  28. 12 Jul, 2005 1 commit
  29. 07 Jun, 2005 1 commit
  30. 26 May, 2005 1 commit
    • unknown's avatar
      Include fix to function open_binlog from 4.1 · fc53e766
      unknown authored
       - Add O_SHARE when opening file.
      
      
      sql/log.cc:
        Add O_SHARE when opening file. This is from mysql-4.1 but since function has been moved from sql_repl.cc, it was missed during merge.
      fc53e766
  31. 06 May, 2005 1 commit
    • unknown's avatar
      Fixes while reviewing new code · 19fc09c5
      unknown authored
      Added option --count to mysqlshow (to show number of rows)
      Fixed possible core dump in information schema
      
      
      client/client_priv.h:
        --count for mysqlshow
      client/mysqlshow.c:
        Added option --count to be used when the user want's number of rows per table in the output
        (We shouldn't use count(*) as default as this can be a slow operation)
      mysys/my_thr_init.c:
        Correct comment
      sql/ha_berkeley.cc:
        Remove not used variable
      sql/ha_berkeley.h:
        Remove not used variable
      sql/ha_innodb.cc:
        Remove not used function
      sql/ha_ndbcluster.cc:
        false -> FALSE
        true -> TRUE
      sql/handler.cc:
        Added and fixed comments
        Remove 'strange' code to remove compiler warnings (better to do things like this with attribute)
      sql/item.cc:
        false -> FALSE
      sql/item_cmpfunc.cc:
        Fixed indentation
      sql/item_cmpfunc.h:
        marked BETWEEN as a bool function
      sql/item_func.cc:
        Simple optimzation
      sql/key.cc:
        Removed wrong code
      sql/log.cc:
        Check result from open_index_file()
      sql/mysql_priv.h:
        Simplyfy some test of netware
      sql/mysqld.cc:
        Fixed indentation
        Check result form open_index_file()
        Simplify code with IF_NETWARE()
      sql/opt_range.cc:
        false -> FALSE
        true -> TRUE
        Fixed indentation
      sql/opt_sum.cc:
        Fixed comments
      sql/sp_head.cc:
        Simple optimzation
        Move variable declarations to begining of blocks
      sql/sql_acl.cc:
        Fix long lines
        Rename xx -> column
        Move declaration to beginning of block
      sql/sql_parse.cc:
        Removed comment
      sql/sql_select.cc:
        Indentation fixes
      sql/sql_show.cc:
        Fixed reference outside of array (possible core dump)
      sql/sql_table.cc:
        Simplify code
        Combine common code
      sql/sql_test.cc:
        false -> FALSE
      sql/sql_trigger.cc:
        false -> false
        true -> TRUE
      sql/sql_yacc.yy:
        Simpler test
      sql/unireg.cc:
        Added comment
      19fc09c5
  32. 22 Apr, 2005 1 commit
    • unknown's avatar
      Fixes for BUG#10039 "MEMORY engine is reported as HEAP", · 70a159bd
      unknown authored
      BUG#9738 "SHOW VARIABLES still displays the deprecated 'log_update' in 5.0",
      BUG#9542 "MySQL dies with signal 11 when it is using non-existent location of binary logs"
      
      
      
      mysql-test/r/create.result:
        MEMORY, not HEAP
      mysql-test/r/ps_1general.result:
        order changed in SHOW STORAGE ENGINES
      mysql-test/r/variables.result:
        MEMORY, not HEAP
      sql/handler.cc:
        the array of storage engine names is searched in index order, so we must put the preferred name
        before the alias so that the preferred name is printed by MySQL instead of the alias.
      sql/log.cc:
        TC_LOG::open(): don't try to open if the index (relevant only for binlog TC log)
        could not be opened.
      sql/set_var.cc:
        --log-update is deprecated and replaced by --log-bin so don't show log_update in SHOW VARIABLES.
      70a159bd
  33. 05 Apr, 2005 1 commit
    • unknown's avatar
      remove the rest of isam/merge references · 7211da48
      unknown authored
      fix a race condition in TC_LOG_BINLOG::unlog
      
      
      include/Makefile.am:
        remove the rest of isam/merge references
      include/config-win.h:
        unused and abused macro removed
      include/my_pthread.h:
        unused and abused macro removed
      include/my_sys.h:
        MY_IGNORE_BADFD flag
      include/mysql_embed.h:
        remove the rest of isam/merge references
      mysql-test/r/replace.result:
        remove the rest of isam/merge references
      mysql-test/t/replace.test:
        remove the rest of isam/merge references
      mysql-test/t/xa.test:
        comment
      mysys/my_sync.c:
        MY_IGNORE_BADFD flag
      sql/handler.cc:
        remove the rest of isam/merge references
      sql/log.cc:
        fix a race condition in TC_LOG_BINLOG::unlog
        preparation for binlog group commit
      sql/mysql_priv.h:
        remove duplicates
      sql/mysqld.cc:
        remove the rest of isam/merge references
      sql/opt_range.cc:
        remove the rest of isam/merge references
      sql/set_var.cc:
        hide unused variables. simplify sync_binlog code
      sql/sql_base.cc:
        remove the rest of isam/merge references
      sql/sql_class.h:
        cleanup
      7211da48
  34. 21 Mar, 2005 1 commit
    • unknown's avatar
      Last part of WL#1062: better replication of timezones: no more use · 61eb9e40
      unknown authored
      of SET ONE_SHOT; storing tz info directly in event (if this info is needed),
      it's now allowed to have different global tz on master and slave.
      
      
      client/mysqlbinlog.cc:
        we need MAX_TIME_ZONE_NAME_LENGTH when processing log_event.h, and it's declared in mysql_priv.h
      mysql-test/r/rpl_timezone.result:
        result update
      mysql-test/t/rpl_timezone-slave.opt:
        Now that we can have different global value of timezone on master and slave, let's test it.
      mysql-test/t/rpl_timezone.test:
        Tests of the new replication of timezones: checking the output of mysqlbinlog,
        replication of CONVERT_TZ().
      sql/ha_innodb.cc:
        No very fast shutdown on Netware (anyway it's disabled on all platforms,
        but this is so that we don't forget to keep it disabled on Netware in the future).
      sql/log.cc:
        No more need to write SET ONE_SHOT to binlog for character set and timezone
        (as we store this info  directly nin the Query_log_event now).
      sql/log_event.cc:
        Exclude ::write() methods if MYSQL_CLIENT.
        Storing timezone info in the Query_log_event in master. Re-reading it in slave.
        Small code cleanups. I plan to not store the end 0 of catalog in binlog
        events soon.
      sql/log_event.h:
        replication of time zones: a place for tz info in Query_log_event,
        in LAST_EVENT_INFO. Plus if we are compiling a client, we don't need
        the ::write() methods, so keeping them out (of mysqlbinlog.cc;
        keeping them in, resulted in problem that mysqlbinlog does not know Timezone
        structure).
      sql/mysql_priv.h:
        moving this define from tztime.h (tztime.h has things which are
        too much for a client like mysqlbinlog).
      sql/set_var.cc:
        It's now allowed to change global value of charset or timezone even if using binlogging
        or if being a slave.
        Making CONVERT_TZ(,,@@session.time_zone) replicate.
      sql/set_var.h:
        these ::check()s are not needed anymore (changing global charset
        or timezone is now allowed even if binlogging or slave)
      sql/slave.cc:
        No more need to check for same global timezone if master is 5.x
        (ok, strictly speaking if it is > 5.0.3 but this is alpha).
      sql/slave.h:
        a function to wrap settings of charset to default.
      sql/tztime.cc:
        Adaptation of my_tz_find() to the case where it's not called from inside
        a query (i.e. cannot join its tz tables to the query's ones): this variant
        opens the tz tables itself, reads from them, and closes them. This is presently
        only used by the slave SQL thread (when it sets the tz before executing a query).
      sql/tztime.h:
        declaration of new function, plus moving symbol to mysql_priv.h
        for easier usage in mysqlbinlog (Dmitri, pardon me).
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      61eb9e40
  35. 19 Mar, 2005 1 commit
    • unknown's avatar
      Eliminate warnings noticed by VC7. This includes fixing my_mmap() on · 22234f31
      unknown authored
      Windows to call CreateFileMapping() with correct arguments, and
      propogating the introduction of query_id_t to everywhere query ids are
      passed around. (Bug #8826)
      
      
      libmysql/libmysql.c:
        Make implicit cast explicit
      myisam/mi_open.c:
        Make cast of value to smaller data size explicit
      myisam/mi_packrec.c:
        Cast file size (my_off_t) to size_t for mmap
      mysys/my_mmap.c:
        Fix Windows version of my_mmap() to use the right parameters
        for call to CreateFileMapping()
      sql/field.cc:
        Use temporary value of correct type
      sql/field.h:
        Use query_id_t for query_id value
      sql/ha_berkeley.cc:
        Fix flag check
      sql/ha_innodb.h:
        Use query_id_t for query_id value
      sql/handler.cc:
        Explain opt_using_transactions calculation, and add cast
      sql/handler.h:
        Fix forward declaration of COND
      sql/item.cc:
        Fix val_bool() tests of val_int() to avoid implicit cast
      sql/item_cmpfunc.cc:
        Fix typo in switch label
      sql/item_func.cc:
        Make implicit cast explicit
      sql/item_strfunc.cc:
        Now that query_id is a query_id_t, need to cast it to a ulong here
      sql/item_subselect.cc:
        Fix test of value
      sql/log.cc:
        Cast my_off_t used for file size to size_t for memory allocation
        Also cast my_off_t when using it to calculate the number of pages for TC log
        Cast total_ha_2pc to uchar when saving it
      sql/mysql_priv.h:
        Move up query_id definition so it can be used more widely
      sql/opt_range.cc:
        Add unused delete operator to prevent compiler warning
      sql/set_var.cc:
        Cast value for max_user_connections
      sql/sql_cache.cc:
        Remove unused label
      sql/sql_class.h:
        Fix query id values to be of type query_id_t
      sql/sql_db.cc:
        Move variable only used inside #ifdef within the #ifdef
      sql/sql_help.cc:
        Remove unused label
      sql/sql_insert.cc:
        Use query_id_t for query id values
      sql/sql_lex.h:
        Add unused delete operator to prevent compiler warning
      sql/sql_select.cc:
        Remove unused variable
        Make cast of value explicit
      sql/sql_select.h:
        Use query_id_t for query id values
      sql/sql_table.cc:
        Make comparison to function pointer explicit
      sql/sql_update.cc:
        Use query_id_t for query id values
      sql/table.h:
        Use query_id_t for query id values
      strings/ctype-simple.c:
        Add cast of long value to (char) in expression
      strings/ctype-ucs2.c:
        Add cast of long value to (char) in expression
      strings/ctype-utf8.c:
        Make cast to smaller size explicit
      22234f31
  36. 14 Mar, 2005 2 commits
    • unknown's avatar
      sql/log.cc · 5daf3443
      unknown authored
          don't set LOG_EVENT_BINLOG_IN_USE_F for relay logs
      sql/sql_repl.cc
          clear LOG_EVENT_BINLOG_IN_USE_F flag before sending an event to a slave
      
      
      sql/log.cc:
        don't set LOG_EVENT_BINLOG_IN_USE_F for relay logs
      sql/sql_repl.cc:
        clear LOG_EVENT_BINLOG_IN_USE_F flag before sending an event to a slave
      5daf3443
    • unknown's avatar
      print more information · fab38679
      unknown authored
      fab38679