An error occurred fetching the project authors.
  1. 06 Feb, 2008 1 commit
    • unknown's avatar
      Patch to eliminate some valgrind warnings in debug printout code. · be5a46a6
      unknown authored
      sql/rpl_rli.cc:
        Adding variable to mark an instance of Relay_log_info as fake.
      sql/rpl_rli.h:
        Adding variable to mark an instance of Relay_log_info as fake.
      sql/slave.cc:
        Not printing debug information if we are working with a fake
        instance of Relay_log_info. This because the result of calling
        update is nonsense, and trying to print it generates valgrind
        warnings.
      sql/sql_binlog.cc:
        Marking newly created instance of Relay_log_info as a fake instance.
      be5a46a6
  2. 19 Oct, 2007 1 commit
    • unknown's avatar
      BUG#28618 (Skipping into the middle of a group with SQL_SLAVE_SKIP_COUNTER · 74ef292d
      unknown authored
      is possible):
      
      When skipping the beginning of a transaction starting with BEGIN, the OPTION_BEGIN
      flag was not set correctly, which caused the slave to not recognize that it was
      inside a group. This patch sets the OPTION_BEGIN flag for BEGIN, COMMIT, ROLLBACK,
      and XID events. It also adds checks if inside a group before decreasing the
      slave skip counter to zero.
      
      Begin_query_log_event was not marked that it could not end a group, which is now
      corrected.
      
      
      mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test:
        Correcting slave skip counter to get the correct behaviour.
      mysql-test/suite/rpl/r/rpl_slave_skip.result:
        Result change.
      mysql-test/suite/rpl/t/rpl_slave_skip.test:
        Adding tests to check that skipping works for transactions:
        - Skipping one group with BEGIN first
        - Skipping two groups with BEGIN first
        - Skipping one group without BEGIN first but with AUTOCOMMIT=0
        - LOAD DATA INFILE under statement-based replication
      mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result:
        Result change.
      sql/log_event.cc:
        Adding checks if we're in a group when the slave skip counter is 1.
        In that case, we should keep going.
        
        Adding helping member function Log_event::continue_group() denoting
        that this event cannot end a group, and if the skip counter indicates
        that the group ends after this event, it should not decrease the skip
        counter.
        
        Query_log_event will change the OPTION_BEGIN flag for BEGIN, COMMIT, and
        ROLLBACK, even when skipping because of a positive skip count, and
        Xid_log_event will also affect the OPTION_BEGIN flag, even when being
        skipped.
        
        Begin_load_query_log_event cannot end a group, so it is marked to
        continue the group.
      sql/log_event.h:
        Adding helper function Log_event::continue_group().
      sql/rpl_rli.h:
        Adding Relay_log_info::get_flag() to get the value of a
        replication flag.
      sql/slave.cc:
        Adding debug output and changing debug message.
      mysql-test/suite/rpl/data/rpl_bug28618.dat:
        New BitKeeper file ``mysql-test/suite/rpl/data/rpl_bug28618.dat''
      mysql-test/suite/rpl/t/rpl_slave_skip-slave.opt:
        New BitKeeper file ``mysql-test/suite/rpl/t/rpl_slave_skip-slave.opt''
      74ef292d
  3. 17 Aug, 2007 1 commit
  4. 16 Aug, 2007 3 commits
    • unknown's avatar
      Minor code fixes to help Doxygen generate good documentation. · 29393eaf
      unknown authored
      sql/rpl_rli.h:
        Removing redundant "class" keyword.
      29393eaf
    • unknown's avatar
      Renaming MASTER_INFO to Master_info in order to follow the coding · 9a7658a3
      unknown authored
      standards (and help Doxygen generating good documentation).
      
      
      sql/ha_ndbcluster.cc:
        Renaming MASTER_INFO to Master_info.
      sql/log_event.cc:
        Renaming MASTER_INFO to Master_info.
      sql/repl_failsafe.cc:
        Renaming MASTER_INFO to Master_info.
      sql/repl_failsafe.h:
        Renaming MASTER_INFO to Master_info.
      sql/rpl_mi.cc:
        Renaming MASTER_INFO to Master_info.
      sql/rpl_mi.h:
        Renaming MASTER_INFO to Master_info.
      sql/rpl_rli.h:
        Renaming MASTER_INFO to Master_info.
      sql/slave.cc:
        Renaming MASTER_INFO to Master_info.
      sql/slave.h:
        Renaming MASTER_INFO to Master_info.
      sql/sql_repl.cc:
        Renaming MASTER_INFO to Master_info.
      sql/sql_repl.h:
        Renaming MASTER_INFO to Master_info.
      9a7658a3
    • unknown's avatar
      Renaming RELAY_LOG_INFO and st_relay_log_info to follow coding standards · 044a4a3e
      unknown authored
      (and be more friendly to Doxygen by removing unnecessary typedefs).
      
      
      sql/log.cc:
        Renaming struct st_relay_log_info to class Relay_log_info.
      sql/log.h:
        Renaming struct st_relay_log_info to class Relay_log_info.
      sql/log_event.cc:
        Renaming RELAY_LOG_INFO to Relay_log_info.
      sql/log_event.h:
        Renaming struct st_relay_log_info to class Relay_log_info.
        Renaming RELAY_LOG_INFO to Relay_log_info.
        Removing typedef RELAY_LOG_INFO.
      sql/log_event_old.cc:
        Renaming RELAY_LOG_INFO to Relay_log_info.
      sql/log_event_old.h:
        Renaming RELAY_LOG_INFO to Relay_log_info.
      sql/rpl_mi.h:
        Renaming RELAY_LOG_INFO to Relay_log_info.
      sql/rpl_record.cc:
        Renaming RELAY_LOG_INFO to Relay_log_info.
      sql/rpl_record.h:
        Renaming RELAY_LOG_INFO to Relay_log_info.
      sql/rpl_record_old.cc:
        Renaming RELAY_LOG_INFO to Relay_log_info.
      sql/rpl_record_old.h:
        Renaming RELAY_LOG_INFO to Relay_log_info.
      sql/rpl_rli.cc:
        Renaming struct st_relay_log_info to class Relay_log_info.
        Renaming RELAY_LOG_INFO to Relay_log_info.
      sql/rpl_rli.h:
        Renaming struct st_relay_log_info to class Relay_log_info.
        Renaming RELAY_LOG_INFO to Relay_log_info.
        Removing typedef RELAY_LOG_INFO.
      sql/rpl_utility.cc:
        Renaming RELAY_LOG_INFO to Relay_log_info.
      sql/rpl_utility.h:
        Renaming struct st_relay_log_info to class Relay_log_info.
        Renaming RELAY_LOG_INFO to Relay_log_info.
        Removing typedef RELAY_LOG_INFO.
      sql/slave.cc:
        Renaming RELAY_LOG_INFO to Relay_log_info.
      sql/slave.h:
        Renaming struct st_relay_log_info to class Relay_log_info.
        Renaming RELAY_LOG_INFO to Relay_log_info.
        Removing typedef RELAY_LOG_INFO.
      sql/sql_binlog.cc:
        Renaming RELAY_LOG_INFO to Relay_log_info.
      sql/sql_class.h:
        Renaming struct st_relay_log_info to class Relay_log_info.
        Renaming RELAY_LOG_INFO to Relay_log_info.
        Removing typedef RELAY_LOG_INFO.
      sql/sql_repl.cc:
        Renaming RELAY_LOG_INFO to Relay_log_info.
      044a4a3e
  5. 29 Jul, 2007 1 commit
    • unknown's avatar
      WL#3228 (NDB) : RBR using different table defs on slave/master · d4671354
      unknown authored
      This patch adds the ability to store extra field metadata in the table
      map event. This data can include pack_length() or field_lenght() for
      fields such as CHAR or VARCHAR enabling developers to add code that
      can check for compatibilty between master and slave columns. More 
      importantly, the extra field metadata can be used to store data from the
      master correctly should a VARCHAR field on the master be <= 255 bytes 
      while the same field on the slave is > 255 bytes. 
      
      The patch also includes the needed changes to unpack to ensure that data
      which is smaller on the master can be unpacked correctly on the slave.
      
      WL#3915 : (NDB) master's cols > slave
      
      Slave starts accepting and handling rows of master's tables which have more columns.
      The most important part of implementation is how to caclulate the amount of bytes to
      skip for unknown by slave column.
      
      
      mysql-test/suite/binlog/t/binlog_row_mix_innodb_myisam.test:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch changes the test to coincide with changes to binlog
        size of table map event.
      mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a new result file as a result of the change to the
        size of the tablemap log event.
      mysql-test/suite/rpl/r/rpl_row_create_table.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a new result file as a result of the change to the
        size of the tablemap log event.
      mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a new result file as a result of the change to the
        size of the tablemap log event.
      mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a new result file as a result of the change to the
        size of the tablemap log event.
      mysql-test/suite/rpl/r/rpl_row_log.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a new result file as a result of the change to the
        size of the tablemap log event.
      mysql-test/suite/rpl/r/rpl_row_log_innodb.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a new result file as a result of the change to the
        size of the tablemap log event.
      mysql-test/suite/rpl/r/rpl_row_max_relay_size.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a new result file as a result of the change to the
        size of the tablemap log event.
      mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a new result file as a result of the change to the
        size of the tablemap log event.
      mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a new result file as a result of the change to the
        size of the tablemap log event.
      mysql-test/suite/rpl/r/rpl_row_until.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a new result file as a result of the change to the
        size of the tablemap log event.
      mysql-test/suite/rpl/r/rpl_skip_error.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a new result file as a result of the change to the
        size of the tablemap log event.
      mysql-test/suite/rpl/t/disabled.def:
        WL#3915  master's cols > slave
        
        Disabled the rpl_stm_extraColmaster_ndb test because statement-based
        replication is not supported in NDB at this time. It can be enabled
        when statement-based replication for NDB is released.
      mysql-test/suite/rpl/t/rpl_row_create_table.test:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch corrects binlog positions a result of the change to the
        size of the tablemap log event.
      mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch corrects binlog positions a result of the change to the
        size of the tablemap log event.
      mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a new result file as a result of the change to the
        size of the tablemap log event.
      mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a new result file as a result of the change to the
        size of the tablemap log event.
      sql/field.cc:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch includes updates to the unpack() methods for the variable
        length fields. A new parameter was added (from_length) that is the
        value stored in the field_metadata of the table map from the table_def
        class. If the value is non-zero and less than what the field on the 
        slave is then use the from_length else use the original value from the
        field on the slave.
      sql/field.h:
        L#3228 : RBR using different table defs on slave/master
        
        This patch includes updates to the unpack() methods for the variable
        length fields. A new parameter was added (from_length) that is the
        value stored in the field_metadata of the table map from the table_def
        class.
      sql/log_event.cc:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch adds methods to calculate the field metadata size, prepare
        the field metadata for writing to the binlog, and additions to the
        Table_map_log_event::write_body method to include the field metadata 
        in the table map that is written to the binlog.
        
        WL#3915  master's cols > slave
        
        copying extra (slave's) fields returns early if master's table version is wider;
        removing assert in the way of master > slave cols.
      sql/log_event.h:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch adds method declarations and variables needed to support
        storing field metadata in the table map that is written to the binlog.
      sql/rpl_record.cc:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch modifies the unpack_row() method to unpack fields passing in
        the value from the table_def class. This value is the extra field
        metadata stored there from the master.
        
        WL#3915  master's cols > slave
        
        adding a snippet that shift exectution curson donw the row skipping unknown by slave
        fields' data.
      sql/rpl_rli.h:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch adds a helper function to retrieve the table_def for a given
        table in the RPL_TABLE_LIST structure.
      sql/rpl_utility.cc:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch adds a helper method that retrieves the correct size 
        parameter for the field. This method is used to compare the size as
        sent by the master with that on the slave for all types of fields that
        can vary in size and storage requirements. 
        
        WL#3915  master's cols > slave
        
        Remove warning message for master's cols > slave.
      sql/rpl_utility.h:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch changes the table_def class constructor to pass in the raw
        data read from the table map and extract it into an array of dimension
        size (number of fields). It also adds a method to return the field 
        metadata for any field. The method returns the data stored in the table
        map or 0 if no data was stored for that field. Lastly, a method to return
        the results of field->maybe_null() is included so that the slave can
        determine if a field that is not on the slave is null.
      mysql-test/suite/rpl/t/rpl_colSize.test:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a new test designed to test the feature of having
        columns on the master that are smaller than what is on the slave.
      mysql-test/suite/rpl/t/rpl_extraColmaster_innodb-master.opt:
        WL#3915  master's cols > slave
        
        option for innodb
      mysql-test/suite/rpl/t/rpl_extraColmaster_innodb-slave.opt:
        WL#3915  master's cols > slave
        
        option for innodb
      mysql-test/suite/rpl/t/rpl_extraColmaster_innodb.test:
        WL#3915  master's cols > slave
        
        Test of innodb. Test runs in both statement- and row-based replication.
      mysql-test/suite/rpl/t/rpl_extraColmaster_myisam.test:
        WL#3915  master's cols > slave
        
        Test of myisam. Test runs in both statement- and row-based replication.
      mysql-test/suite/rpl/r/rpl_colSize.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a result file for the new test designed to test the 
        feature of having columns on the master that are smaller than what is 
        on the slave.
      mysql-test/suite/rpl/t/rpl_row_extraColmaster_ndb.test:
        WL#3915  master's cols > slave
        
        Test of ndb. Test runs in row-based replication.
      mysql-test/suite/rpl/t/rpl_stm_extraColmaster_ndb.test:
        WL#3915  master's cols > slave
        
        Test of ndb. Test runs in statement-based replication.
      mysql-test/suite/rpl/r/rpl_extraColmaster_innodb.result:
        WL#3915  master's cols > slave
        
        new results
      mysql-test/suite/rpl/r/rpl_extraColmaster_myisam.result:
        WL#3915  master's cols > slave
        
        new results
      mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test:
        WL#3915  master's cols > slave
        
        basic tests checking altering and skipping extra fields by slave.
        The fields can be of any possible types.
      mysql-test/suite/rpl/r/rpl_row_extraColmaster_ndb.result:
        WL#3915  master's cols > slave
        
        new results
      d4671354
  6. 27 Jul, 2007 2 commits
    • unknown's avatar
      WL#3228 (NDB) : RBR using different table defs on slave/master · ef79d224
      unknown authored
      This patch adds the ability to store extra field metadata in the table
      map event. This data can include pack_length() or field_lenght() for
      fields such as CHAR or VARCHAR enabling developers to add code that
      can check for compatibilty between master and slave columns. More 
      importantly, the extra field metadata can be used to store data from the
      master correctly should a VARCHAR field on the master be <= 255 bytes 
      while the same field on the slave is > 255 bytes. '
      
      The patch also includes the needed changes to unpack to ensure that data
      which is smaller on the master can be unpacked correctly on the slave.
      
      
      mysql-test/extra/rpl_tests/rpl_log.test:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch changes the test to display slave status vertically.
      mysql-test/r/rpl_ndb_log.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a result file for the new test designed to test the 
        feature of having columns on the master that are smaller than what is 
        on the slave.
      mysql-test/r/rpl_rbr_to_sbr.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a result file for the new test designed to test the 
        feature of having columns on the master that are smaller than what is 
        on the slave.
      mysql-test/r/rpl_row_basic_11bugs.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a result file for the new test designed to test the 
        feature of having columns on the master that are smaller than what is 
        on the slave.
      mysql-test/r/rpl_row_create_table.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a result file for the new test designed to test the 
        feature of having columns on the master that are smaller than what is 
        on the slave.
      mysql-test/r/rpl_row_flsh_tbls.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a result file for the new test designed to test the 
        feature of having columns on the master that are smaller than what is 
        on the slave.
      mysql-test/r/rpl_row_inexist_tbl.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a result file for the new test designed to test the 
        feature of having columns on the master that are smaller than what is 
        on the slave.
      mysql-test/r/rpl_row_log.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a result file for the new test designed to test the 
        feature of having columns on the master that are smaller than what is 
        on the slave.
      mysql-test/r/rpl_row_log_innodb.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a result file for the new test designed to test the 
        feature of having columns on the master that are smaller than what is 
        on the slave.
      mysql-test/r/rpl_row_max_relay_size.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a result file for the new test designed to test the 
        feature of having columns on the master that are smaller than what is 
        on the slave.
      mysql-test/r/rpl_row_until.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a result file for the new test designed to test the 
        feature of having columns on the master that are smaller than what is 
        on the slave.
      mysql-test/r/rpl_stm_log.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a result file for the rpl_log.test modifications.
      mysql-test/r/rpl_truncate_7ndb.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a result file for the new test designed to test the 
        feature of having columns on the master that are smaller than what is 
        on the slave.
      mysql-test/t/binlog_row_mix_innodb_myisam.test:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch changes the test to coincide with changes to binlog
        size of table map event.
      mysql-test/t/rpl_row_create_table.test:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch changes the test to coincide with changes to binlog
        size of table map event.
      mysql-test/t/rpl_row_flsh_tbls.test:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch changes the test to coincide with changes to binlog
        size of table map event.
      sql/field.cc:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch includes updates to the unpack() methods for the variable
        length fields. A new parameter was added (from_length) that is the
        value stored in the field_metadata of the table map from the table_def
        class. If the value is non-zero and less than what the field on the 
        slave is then use the from_length else use the original value from the
        field on the slave.
      sql/field.h:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch includes updates to the unpack() methods for the variable
        length fields. A new parameter was added (from_length) that is the
        value stored in the field_metadata of the table map from the table_def
        class.
      sql/log_event.cc:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch adds methods to calculate the field metadata size, prepare
        the field metadata for writing to the binlog, and additions to the
        Table_map_log_event::write_body method to include the field metadata 
        in the table map that is written to the binlog.
      sql/log_event.h:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch adds method declarations and variables needed to support
        storing field metadata in the table map that is written to the binlog.
      sql/rpl_record.cc:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch modifies the unpack_row() method to unpack fields passing in
        the value from the table_def class. This value is the extra field
        metadata stored there from the master.
      sql/rpl_rli.h:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch adds a helper function to retrieve the table_def for a given
        table in the RPL_TABLE_LIST structure.
      sql/rpl_utility.cc:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch adds a helper method that retrieves the correct size 
        parameter for the field. This method is used to compare the size as
        sent by the master with that on the slave for all types of fields that
        can vary in size and storage requirements.
      sql/rpl_utility.h:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch changes the table_def class constructor to pass in the raw
        data read from the table map and extract it into an array of dimension
        size (number of fields). It also adds a method to return the field 
        metadata for any field. The method returns the data stored in the table
        map or 0 if no data was stored for that field. Lastly, a method to return
        the results of field->maybe_null() is included so that the slave can
        determine if a field that is not on the slave is null.
      mysql-test/t/rpl_colSize.test:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a new test designed to test the feature of having
        columns on the master that are smaller than what is on the slave.
      mysql-test/r/rpl_colSize.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a result file for the new test designed to test the 
        feature of having columns on the master that are smaller than what is 
        on the slave.
      ef79d224
    • unknown's avatar
      WL#3228 (NDB) : RBR using different table defs on slave/master · 0e0b05ec
      unknown authored
      This patch adds the ability to store extra field metadata in the table
      map event. This data can include pack_length() or field_lenght() for
      fields such as CHAR or VARCHAR enabling developers to add code that
      can check for compatibilty between master and slave columns. More 
      importantly, the extra field metadata can be used to store data from the
      master correctly should a VARCHAR field on the master be <= 255 bytes 
      while the same field on the slave is > 255 bytes. '
      
      The patch also includes the needed changes to unpack to ensure that data
      which is smaller on the master can be unpacked correctly on the slave.
      
      
      mysql-test/extra/rpl_tests/rpl_log.test:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch changes the test to display slave status vertically.
      mysql-test/r/rpl_ndb_log.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a result file for the new test designed to test the 
        feature of having columns on the master that are smaller than what is 
        on the slave.
      mysql-test/r/rpl_rbr_to_sbr.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a result file for the new test designed to test the 
        feature of having columns on the master that are smaller than what is 
        on the slave.
      mysql-test/r/rpl_row_basic_11bugs.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a result file for the new test designed to test the 
        feature of having columns on the master that are smaller than what is 
        on the slave.
      mysql-test/r/rpl_row_create_table.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a result file for the new test designed to test the 
        feature of having columns on the master that are smaller than what is 
        on the slave.
      mysql-test/r/rpl_row_flsh_tbls.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a result file for the new test designed to test the 
        feature of having columns on the master that are smaller than what is 
        on the slave.
      mysql-test/r/rpl_row_inexist_tbl.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a result file for the new test designed to test the 
        feature of having columns on the master that are smaller than what is 
        on the slave.
      mysql-test/r/rpl_row_log.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a result file for the new test designed to test the 
        feature of having columns on the master that are smaller than what is 
        on the slave.
      mysql-test/r/rpl_row_log_innodb.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a result file for the new test designed to test the 
        feature of having columns on the master that are smaller than what is 
        on the slave.
      mysql-test/r/rpl_row_max_relay_size.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a result file for the new test designed to test the 
        feature of having columns on the master that are smaller than what is 
        on the slave.
      mysql-test/r/rpl_row_until.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a result file for the new test designed to test the 
        feature of having columns on the master that are smaller than what is 
        on the slave.
      mysql-test/r/rpl_stm_log.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a result file for the rpl_log.test modifications.
      mysql-test/r/rpl_truncate_7ndb.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a result file for the new test designed to test the 
        feature of having columns on the master that are smaller than what is 
        on the slave.
      mysql-test/t/binlog_row_mix_innodb_myisam.test:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch changes the test to coincide with changes to binlog
        size of table map event.
      mysql-test/t/rpl_row_create_table.test:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch changes the test to coincide with changes to binlog
        size of table map event.
      mysql-test/t/rpl_row_flsh_tbls.test:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch changes the test to coincide with changes to binlog
        size of table map event.
      sql/field.cc:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch includes updates to the unpack() methods for the variable
        length fields. A new parameter was added (from_length) that is the
        value stored in the field_metadata of the table map from the table_def
        class. If the value is non-zero and less than what the field on the 
        slave is then use the from_length else use the original value from the
        field on the slave.
      sql/field.h:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch includes updates to the unpack() methods for the variable
        length fields. A new parameter was added (from_length) that is the
        value stored in the field_metadata of the table map from the table_def
        class.
      sql/log_event.cc:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch adds methods to calculate the field metadata size, prepare
        the field metadata for writing to the binlog, and additions to the
        Table_map_log_event::write_body method to include the field metadata 
        in the table map that is written to the binlog.
      sql/log_event.h:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch adds method declarations and variables needed to support
        storing field metadata in the table map that is written to the binlog.
      sql/rpl_record.cc:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch modifies the unpack_row() method to unpack fields passing in
        the value from the table_def class. This value is the extra field
        metadata stored there from the master.
      sql/rpl_rli.h:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch adds a helper function to retrieve the table_def for a given
        table in the RPL_TABLE_LIST structure.
      sql/rpl_utility.cc:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch adds a helper method that retrieves the correct size 
        parameter for the field. This method is used to compare the size as
        sent by the master with that on the slave for all types of fields that
        can vary in size and storage requirements.
      sql/rpl_utility.h:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch changes the table_def class constructor to pass in the raw
        data read from the table map and extract it into an array of dimension
        size (number of fields). It also adds a method to return the field 
        metadata for any field. The method returns the data stored in the table
        map or 0 if no data was stored for that field. Lastly, a method to return
        the results of field->maybe_null() is included so that the slave can
        determine if a field that is not on the slave is null.
      mysql-test/r/rpl_colSize.result:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a result file for the new test designed to test the 
        feature of having columns on the master that are smaller than what is 
        on the slave.
      mysql-test/t/rpl_colSize.test:
        WL#3228 : RBR using different table defs on slave/master
        
        This patch contains a new test designed to test the feature of having
        columns on the master that are smaller than what is on the slave.
      0e0b05ec
  7. 11 Jun, 2007 1 commit
    • unknown's avatar
      BUG#24954 (Last_errno and Last_error not set after master_retry_count has · abbf5941
      unknown authored
      been reached):
      
      Post-merge patch to handle all the changes to the tree since the tree
      was cloned.
      
      
      mysql-test/extra/rpl_tests/rpl_log.test:
        Replacing SHOW SLAVE STATUS with include file.
      mysql-test/extra/rpl_tests/rpl_max_relay_size.test:
        Replacing SHOW SLAVE STATUS with include file.
      mysql-test/extra/rpl_tests/rpl_reset_slave.test:
        Replacing SHOW SLAVE STATUS with include file.
      mysql-test/include/show_slave_status.inc:
        Column change.
      mysql-test/r/rpl_000015.result:
        Result file change.
      mysql-test/r/rpl_change_master.result:
        Result file change.
      mysql-test/r/rpl_empty_master_crash.result:
        Result file change.
      mysql-test/r/rpl_extraCol_innodb.result:
        Result file change.
      mysql-test/r/rpl_extraCol_myisam.result:
        Result file change.
      mysql-test/r/rpl_flushlog_loop.result:
        Result file change.
      mysql-test/r/rpl_incident.result:
        Result file change.
      mysql-test/r/rpl_known_bugs_detection.result:
        Result file change.
      mysql-test/r/rpl_loaddata.result:
        Result file change.
      mysql-test/r/rpl_loaddata_fatal.result:
        Result file change.
      mysql-test/r/rpl_log_pos.result:
        Result file change.
      mysql-test/r/rpl_ndb_basic.result:
        Result file change.
      mysql-test/r/rpl_ndb_circular.result:
        Result file change.
      mysql-test/r/rpl_ndb_extraCol.result:
        Result file change.
      mysql-test/r/rpl_ndb_idempotent.result:
        Result file change.
      mysql-test/r/rpl_ndb_log.result:
        Result file change.
      mysql-test/r/rpl_ndb_sync.result:
        Result file change.
      mysql-test/r/rpl_rbr_to_sbr.result:
        Result file change.
      mysql-test/r/rpl_redirect.result:
        Result file change.
      mysql-test/r/rpl_replicate_do.result:
        Result file change.
      mysql-test/r/rpl_rotate_logs.result:
        Result file change.
      mysql-test/r/rpl_row_inexist_tbl.result:
        Result file change.
      mysql-test/r/rpl_row_log.result:
        Result file change.
      mysql-test/r/rpl_row_log_innodb.result:
        Result file change.
      mysql-test/r/rpl_row_max_relay_size.result:
        Result file change.
      mysql-test/r/rpl_row_reset_slave.result:
        Result file change.
      mysql-test/r/rpl_row_tabledefs_2myisam.result:
        Result file change.
      mysql-test/r/rpl_row_tabledefs_3innodb.result:
        Result file change.
      mysql-test/r/rpl_row_until.result:
        Result file change.
      mysql-test/r/rpl_server_id1.result:
        Result file change.
      mysql-test/r/rpl_server_id2.result:
        Result file change.
      mysql-test/r/rpl_slave_skip.result:
        Result file change.
      mysql-test/r/rpl_ssl.result:
        Result file change.
      mysql-test/r/rpl_ssl1.result:
        Result file change.
      mysql-test/r/rpl_stm_log.result:
        Result file change.
      mysql-test/r/rpl_stm_max_relay_size.result:
        Result file change.
      mysql-test/r/rpl_stm_reset_slave.result:
        Result file change.
      mysql-test/r/rpl_stm_until.result:
        Result file change.
      mysql-test/t/rpl_000015.test:
        Replacing SHOW SLAVE STATUS with include file.
      mysql-test/t/rpl_change_master.test:
        Column position change.
        Making result of SHOW SLAVE STATUS vertical.
      mysql-test/t/rpl_empty_master_crash.test:
        Replacing SHOW SLAVE STATUS with include file.
      mysql-test/t/rpl_log_pos.test:
        Replacing SHOW SLAVE STATUS with include file.
      mysql-test/t/rpl_ndb_basic.test:
        Column position change.
      mysql-test/t/rpl_ndb_idempotent.test:
        Column position change.
      mysql-test/t/rpl_ndb_sync.test:
        Column position change.
        Making result of SHOW SLAVE STATUS vertical.
      mysql-test/t/rpl_redirect.test:
        Replacing SHOW SLAVE STATUS with include file.
      mysql-test/t/rpl_replicate_do.test:
        Column position change.
        Making result of SHOW SLAVE STATUS vertical.
      mysql-test/t/rpl_rotate_logs.test:
        Replacing SHOW SLAVE STATUS with include file.
      mysql-test/t/rpl_row_inexist_tbl.test:
        Replacing SHOW SLAVE STATUS with include file.
      mysql-test/t/rpl_row_until.test:
        Replacing SHOW SLAVE STATUS with include file.
      mysql-test/t/rpl_server_id1.test:
        Column position change.
        Making result of SHOW SLAVE STATUS vertical.
      mysql-test/t/rpl_server_id2.test:
        Column position change.
        Making result of SHOW SLAVE STATUS vertical.
      mysql-test/t/rpl_slave_status.test:
        Column position change.
      mysql-test/t/rpl_ssl.test:
        Column position change.
      mysql-test/t/rpl_ssl1.test:
        Column position change.
      mysql-test/t/rpl_stm_until.test:
        Replacing SHOW SLAVE STATUS with include file.
      sql/log_event.cc:
        Using member function last_error() instead of member variable.
        Replacing use of 'table' with 'm_table'.
        Suppressing warnings in debug printout.
        Setting thd->net.last_error on error return from unpack_row() to get
        a non-zero error message.  The error codes for are being harmonized
        in another worklog.
        Replacing use of slave_print_msg() with RELAY_LOG_INFO::report().
      sql/rpl_mi.h:
        Moving order of include files since they are dependent (!).
      sql/rpl_record.cc:
        Adding missing include file.
        Replacing use of slave_print_msg() with RELAY_LOG_INFO::report().
      sql/rpl_record_old.cc:
        Adding missing include file.
        Replacing use of slave_print_msg() with RELAY_LOG_INFO::report().
      sql/rpl_reporting.cc:
        Adding const modifier to member function.
        Using renamed member variable m_last_error.
      sql/rpl_reporting.h:
        Adding missing constant MAX_SLAVE_ERRMSG.
        Adding const modifier to Slave_reporting_capability::report().
        Hiding and renaming member variable last_error and incorporating
        member function for access in order to make it mutable.
      sql/rpl_rli.h:
        Moving constant MAX_SLAVE_ERRMSG.
      sql/rpl_utility.cc:
        Adding missing include file rpl_rli.h.
      sql/slave.cc:
        Replacing use of member variable last_error with call to member function
        last_error().
        Replacing use of slave_print_msg() with RELAY_LOG_INFO::report().
      abbf5941
  8. 09 Jun, 2007 1 commit
    • unknown's avatar
      BUG#24954 (Last_errno and Last_error not set after master_retry_count was reached): · 79a609aa
      unknown authored
      Adding new fields Last_{IO,SQL}_Errno and Last_{IO,SQL}_Error to output
      of SHOW SLAVE STATUS to hold errors from I/O and SQL thread respectively.
      Old fields Last_Error and Last_Errno are aliases for Last_SQL_Error and
      Last_SQL_Errno respectively.
      
      Fields are added last to output of SHOW SLAVE STATUS to allow old applications
      to use the same positional arguments into the row, while allowing new
      application to benefit from the added information.
      
      In addition, some new error codes are added (especially for the I/O
      thread) to be able to provide sensible error message.
      
      
      mysql-test/extra/rpl_tests/rpl_max_relay_size.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/r/binlog_row_mix_innodb_myisam.result:
        Result change
      mysql-test/r/rpl_000015.result:
        Result change
      mysql-test/r/rpl_change_master.result:
        Result change
      mysql-test/r/rpl_deadlock_innodb.result:
        Result change
      mysql-test/r/rpl_empty_master_crash.result:
        Result change
      mysql-test/r/rpl_extraCol_innodb.result:
        Result change
        ---
        Result change.
      mysql-test/r/rpl_extraCol_myisam.result:
        Result change
        ---
        Result change.
      mysql-test/r/rpl_flushlog_loop.result:
        Result change
      mysql-test/r/rpl_loaddata.result:
        Result change
      mysql-test/r/rpl_log_pos.result:
        Result change
      mysql-test/r/rpl_ndb_basic.result:
        Result change
      mysql-test/r/rpl_ndb_extraCol.result:
        Result change
        ---
        Result change.
      mysql-test/r/rpl_ndb_idempotent.result:
        Result change
      mysql-test/r/rpl_ndb_log.result:
        Result change
      mysql-test/r/rpl_openssl.result:
        Result change
      mysql-test/r/rpl_rbr_to_sbr.result:
        Result change
      mysql-test/r/rpl_redirect.result:
        Result change
      mysql-test/r/rpl_replicate_do.result:
        Result change
      mysql-test/r/rpl_rotate_logs.result:
        Result change
      mysql-test/r/rpl_row_inexist_tbl.result:
        Result change
      mysql-test/r/rpl_row_log.result:
        Result change
      mysql-test/r/rpl_row_log_innodb.result:
        Result change
      mysql-test/r/rpl_row_max_relay_size.result:
        Result change
      mysql-test/r/rpl_row_reset_slave.result:
        Result change
      mysql-test/r/rpl_row_tabledefs_2myisam.result:
        Result change
        ---
        Result change.
      mysql-test/r/rpl_row_tabledefs_3innodb.result:
        Result change
        ---
        Result change.
      mysql-test/r/rpl_row_until.result:
        Result change
      mysql-test/r/rpl_server_id1.result:
        Result change
      mysql-test/r/rpl_server_id2.result:
        Result change
      mysql-test/r/rpl_slave_status.result:
        Result change
      mysql-test/r/rpl_stm_log.result:
        Result change
      mysql-test/r/rpl_stm_max_relay_size.result:
        Result change
        ---
        Result change.
      mysql-test/r/rpl_stm_reset_slave.result:
        Result change
      mysql-test/r/rpl_stm_until.result:
        Result change
      mysql-test/t/binlog_row_mix_innodb_myisam.test:
        Test fixed.
      mysql-test/t/rpl_000015.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_change_master.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_empty_master_crash.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_flushlog_loop.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_log_pos.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_ndb_bank.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_ndb_basic.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_ndb_idempotent.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_ndb_sync.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_openssl.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_rbr_to_sbr.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_redirect.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_replicate_do.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_rotate_logs.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_row_inexist_tbl.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_row_until.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_server_id1.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_server_id2.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_slave_status.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      mysql-test/t/rpl_stm_until.test:
        Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno
      sql/Makefile.am:
        Adding new files
      sql/log_event.cc:
        Changes to use Slave_reporting_capability for reporting errors.
        
        Adding debug variable to stop slave with an out-of-memory error or with
        a fatal error. The checks are put both in the new Execute_load_query_
        log_event and in the old Load_log_event which is used for Execute_load_
        log_event.
        
        Adding code to generate fatal error message.
        
        Eliminating redundant arguments when printing ER_NO_DEFAULT_FOR_FIELD
        message.
      sql/rpl_mi.cc:
        Using Slave_reporting_capability for error reporting.
      sql/rpl_mi.h:
        Using Slave_reporting_capability to handle I/O thread errors and other messages.
      sql/rpl_rli.cc:
        Using Slave_reporting_capability to handle SQL thread errors and other messages.
      sql/rpl_rli.h:
        Changes to use Slave_reporting_capability for reporting SQL thread error and other messages.
      sql/rpl_utility.cc:
        Changes to use Slave_reporting_capability for reporting errors.
      sql/slave.cc:
        Changes to use Slave_reporting_capability for reporting errors.
      sql/slave.h:
        Removing slave_print_msg()
      sql/share/errmsg.txt:
        New error messages.
        
        Making message for ER_NO_DEFAULT_FOR_FIELD consistent over languages
        (actually restoring old message).
        
        Adding argument to ER_SLAVE_FATAL_ERROR message.
      sql/sql_repl.cc:
        Using new names for thread masks.
      mysql-test/t/rpl_loaddata_fatal-slave.opt:
        New BitKeeper file ``mysql-test/t/rpl_loaddata_fatal-slave.opt''
      sql/rpl_reporting.cc:
        New BitKeeper file ``sql/rpl_reporting.cc''
      sql/rpl_reporting.h:
        New BitKeeper file ``sql/rpl_reporting.h''
      mysql-test/include/show_slave_status.inc:
        New BitKeeper file ``mysql-test/include/show_slave_status.inc''
      mysql-test/r/rpl_loaddata_fatal.result:
        New BitKeeper file ``mysql-test/r/rpl_loaddata_fatal.result''
      mysql-test/t/rpl_loaddata_fatal.test:
        New BitKeeper file ``mysql-test/t/rpl_loaddata_fatal.test''
      79a609aa
  9. 13 Apr, 2007 2 commits
    • unknown's avatar
      Fixes to make it compile when using Sun CC and restoring some changes · a8bcc697
      unknown authored
      done in previous patches.
      
      There is an error in the Sun CC compiler that treats parameters that
      differ in only qualifier as different, even though this is not
      allowed by the standard (ISO/IEC 14882:2003, Section 13.1).
      
      
      sql/log_event.cc:
        Removing const qualifier since it causes linker error.
      sql/log_event.h:
        Restoring time_t instead of my_time_t since it causes warnings
        elsewhere.  Renaming parameters to functions since they hide
        member variable (which causes warnings on Sun CC).
      sql/rpl_record.cc:
        Removing const qualifier since it causes linker error.
      sql/rpl_rli.cc:
        Restoring time_t instead of my_time_t since it causes warnings
        elsewhere. Removing const qualifier since it causes linker error.
      sql/rpl_rli.h:
        Restoring time_t instead of my_time_t since it causes warnings
        elsewhere. Removing const qualifier since it causes linker error.
      a8bcc697
    • unknown's avatar
      Fixing portability issues regarding use of time_t. · d54c905f
      unknown authored
      sql/rpl_rli.cc:
        Changing signature for stmt_done() to use my_time_t instead of time_t.
      sql/rpl_rli.h:
        Changing signature for stmt_done() to use my_time_t instead of time_t.
        Changing last_master_timestamp to use my_time_t instead of time_t.
      d54c905f
  10. 12 Apr, 2007 1 commit
    • unknown's avatar
      BUG#25688 (RBR: circular replication may cause STMT_END_F flags to be · 6ed9fc6b
      unknown authored
      skipped):
      
      By moving statement end actions from Rows_log_event::do_apply_event() to
      Rows_log_event::do_update_pos() they will always be executed, even if
      Rows_log_event::do_apply_event() is skipped because the event originated
      at the same server. This because Rows_log_event::do_update_pos() is always
      executed (unless Rows_log_event::do_apply_event() failed with an error,
      in which case the slave stops with an error anyway). 
      
      Adding test case.
      
      Fixing logic to detect if inside a group. If a rotate event occured
      when an initial prefix of events for a statement, but for which the
      table did contain a key, last_event_start_time is set to zero, causing
      rotate to end the group but without unlocking any tables. This left a
      lock hanging around, which subsequently triggered an assertion when a
      second attempt was made to lock the same sequence of tables.
      
      In order to solve the above problem, a new flag was added to the relay
      log info structure that is used to indicate that the replication thread
      is currently executing a statement. Using this flag, the replication
      thread is in a group if it is either in a statement or inside a trans-
      action.
      
      The patch also eliminates some gratuitous header file inclusions that
      were not needed (and caused compile errors) and replaced them with
      forward definitions.
      
      
      sql/item_func.cc:
        Including definition of MASTER_INFO.
      sql/log.cc:
        Including definition of RELAY_LOG_INFO since it is used in the file.
      sql/log_event.cc:
        Moving statement end actions from Rows_log_event::do_apply_event() to
        Rows_log_event::do_update_pos().
        Factoring out code to update group positions and event positions into
        relay log info structure.
        ---
        Adding debugging printouts.
        Fixing logic to detect if inside a group.
      sql/log_event.h:
        Adding Rows_log_event::do_update_pos().
      sql/mysqld.cc:
        Including definition of MASTER_INFO.
      sql/repl_failsafe.cc:
        Including definition of MASTER_INFO.
      sql/rpl_mi.h:
        Including definition of RELAY_LOG_INFO since it is used in the file.
      sql/rpl_rli.cc:
        Adding member function stmt_done() to do after-statement updates of the
        relay log info structure.
      sql/rpl_rli.h:
        Adding member function stmt_done() to do after-statement updates of the
        relay log info structure.
      sql/set_var.cc:
        Including definition of MASTER_INFO.
      sql/slave.cc:
        Adding debuging printouts.
      sql/slave.h:
        Removing inclusion definitions of MASTER_INFO and RELAY_LOG_INFO and
        replacing them with forward declarations since the classes are not
        used in the file. The gratuitous inclusion lead to compile errors in
        the two classes above in files that used neither.
      sql/sql_binlog.cc:
        Including definition of RELAY_LOG_INFO since it is used in the file.
      sql/sql_class.cc:
        Including definition of RELAY_LOG_INFO since it is used in the file.
      sql/sql_class.h:
        Removing inclusion definitions of RELAY_LOG_INFO and replacing it
        with forward declaration since the class is not used in the file.
        The gratuitous inclusion lead to compile errors in the class above
        in files didn't use the class.
      sql/sql_insert.cc:
        Including definition of MASTER_INFO.
      sql/sql_repl.cc:
        Including definition of MASTER_INFO.
      mysql-test/r/rpl_ndb_circular_simplex.result:
        New BitKeeper file ``mysql-test/r/rpl_ndb_circular_simplex.result''
      mysql-test/t/rpl_ndb_circular_simplex.test:
        New BitKeeper file ``mysql-test/t/rpl_ndb_circular_simplex.test''
      6ed9fc6b
  11. 22 Mar, 2007 1 commit
    • unknown's avatar
      BUG#23171: Illegal group log position · 8666675f
      unknown authored
      Tail fixes after re-applying patches to older version of clone.
      
      
      sql/log_event.cc:
        Name change of shall_skip() -> do_shall_skip()
        Introducing public shall_skip().
        Name change of skip reason enumeration constants.
        Removing extreneous argument to slave_print_msg() causing compiler warning.
      sql/log_event.h:
        Adding enumeration for skip reason.
        Factoring out exec_event() into exec_relay_log_event().
        Making public interface to event execution primitives.
        Adding documentation.
        Making some (internal) functions const-correct.
      sql/rpl_rli.cc:
        replicate_same_server_id is now a member variable of RLI.
      sql/rpl_rli.h:
        replicate_same_server_id is now a member variable of RLI.
      sql/slave.cc:
        Using RLI-specific member variable replicate_same_server_id instead of
        global instance.
        Moving comments about skipping logic to exec_relay_log_event().
        Moving event execution logic to exec_relay_log_event().
      sql/sql_binlog.cc:
        Using apply_event() directly and adding comment with explenation.
      8666675f
  12. 26 Feb, 2007 1 commit
    • unknown's avatar
      BUG#26634 (Valgrind failure in tree: memory loss for memory allocated in rpl_utility.h): · 236bb807
      unknown authored
      Adding code to release allocated memory when tables_to_lock list is
      cleared.
      
      
      sql/log_event.cc:
        Using RPL_TABLE_LIST instead of TABLE_LIST for tables_to_lock.
      sql/rpl_rli.cc:
        Moving st_relay_log_info::clear_tables_to_lock() into rpl_rli.cc.
        Adding code to release memory allocated for saved table definition.
      sql/rpl_rli.h:
        Moving st_relay_log_info::clear_tables_to_lock() into rpl_rli.cc.
        Using RPL_TABLE_LIST instead of TABLE_LIST for tables_to_lock.
      sql/rpl_utility.h:
        Adding forward declarations.
        Adding boolean to tell if tabledef is valid.
      236bb807
  13. 17 Jan, 2007 1 commit
    • unknown's avatar
      BUG#23171 (Illegal slave restart position): · 4b00b3f0
      unknown authored
      Third patch of the bug fix where the code for skipping events and for
      executing events is factored out into three functions:
      - shall_skip() to decide if the event shall be skipped and the
        reason for it;
      - do_apply_event(), where the event is applied to the database; and
      - do_update_pos(), which updates the actual relay log position and
        group positions.
      
      
      mysql-test/r/rpl_row_tabledefs_2myisam.result:
        Result change.
      mysql-test/r/rpl_row_tabledefs_3innodb.result:
        Result change.
      sql/log_event.cc:
        Creating shall_skip(), do_update_pos(), and do_apply_event()
        functions for each event by factoring out the previous code.
        Adding debug code and fixing some error codes that were not correct.
      sql/rpl_rli.cc:
        Renaming unsafe_to_stop_at into last_event_start_time.
        Adding debug code.
      sql/rpl_rli.h:
        Renaming unsafe_to_stop_at into last_event_start_time.
      sql/slave.cc:
        Renaming unsafe_to_stop_at into last_event_start_time.
      4b00b3f0
  14. 27 Dec, 2006 1 commit
    • unknown's avatar
      Many files: · 92e68d49
      unknown authored
        Changed header to GPL version 2 only
      
      
      client/mysqlslap.c:
        Changed header to GPL version 2 only
      include/atomic/nolock.h:
        Changed header to GPL version 2 only
      include/atomic/rwlock.h:
        Changed header to GPL version 2 only
      include/atomic/x86-gcc.h:
        Changed header to GPL version 2 only
      include/atomic/x86-msvc.h:
        Changed header to GPL version 2 only
      include/my_atomic.h:
        Changed header to GPL version 2 only
      include/my_trie.h:
        Changed header to GPL version 2 only
      include/my_vle.h:
        Changed header to GPL version 2 only
      include/mysql/plugin.h:
        Changed header to GPL version 2 only
      mysys/my_atomic.c:
        Changed header to GPL version 2 only
      mysys/my_getncpus.c:
        Changed header to GPL version 2 only
      mysys/my_memmem.c:
        Changed header to GPL version 2 only
      mysys/my_vle.c:
        Changed header to GPL version 2 only
      mysys/trie.c:
        Changed header to GPL version 2 only
      plugin/Makefile.am:
        Changed header to GPL version 2 only
      server-tools/instance-manager/IMService.h:
        Changed header to GPL version 2 only
      server-tools/instance-manager/WindowsService.h:
        Changed header to GPL version 2 only
      server-tools/instance-manager/exit_codes.h:
        Changed header to GPL version 2 only
      server-tools/instance-manager/user_management_commands.h:
        Changed header to GPL version 2 only
      sql/authors.h:
        Changed header to GPL version 2 only
      sql/contributors.h:
        Changed header to GPL version 2 only
      sql/event_data_objects.cc:
        Changed header to GPL version 2 only
      sql/event_data_objects.h:
        Changed header to GPL version 2 only
      sql/event_db_repository.cc:
        Changed header to GPL version 2 only
      sql/event_db_repository.h:
        Changed header to GPL version 2 only
      sql/event_queue.cc:
        Changed header to GPL version 2 only
      sql/event_queue.h:
        Changed header to GPL version 2 only
      sql/event_scheduler.cc:
        Changed header to GPL version 2 only
      sql/event_scheduler.h:
        Changed header to GPL version 2 only
      sql/events.cc:
        Changed header to GPL version 2 only
      sql/events.h:
        Changed header to GPL version 2 only
      sql/ha_ndbcluster_binlog.cc:
        Changed header to GPL version 2 only
      sql/ha_ndbcluster_binlog.h:
        Changed header to GPL version 2 only
      sql/ha_ndbcluster_tables.h:
        Changed header to GPL version 2 only
      sql/ha_partition.cc:
        Changed header to GPL version 2 only
      sql/ha_partition.h:
        Changed header to GPL version 2 only
      sql/item_xmlfunc.cc:
        Changed header to GPL version 2 only
      sql/item_xmlfunc.h:
        Changed header to GPL version 2 only
      sql/log.h:
        Changed header to GPL version 2 only
      sql/partition_element.h:
        Changed header to GPL version 2 only
      sql/partition_info.cc:
        Changed header to GPL version 2 only
      sql/partition_info.h:
        Changed header to GPL version 2 only
      sql/rpl_filter.cc:
        Changed header to GPL version 2 only
      sql/rpl_filter.h:
        Changed header to GPL version 2 only
      sql/rpl_injector.cc:
        Changed header to GPL version 2 only
      sql/rpl_injector.h:
        Changed header to GPL version 2 only
      sql/rpl_mi.cc:
        Changed header to GPL version 2 only
      sql/rpl_mi.h:
        Changed header to GPL version 2 only
      sql/rpl_rli.cc:
        Changed header to GPL version 2 only
      sql/rpl_rli.h:
        Changed header to GPL version 2 only
      sql/rpl_tblmap.cc:
        Changed header to GPL version 2 only
      sql/rpl_tblmap.h:
        Changed header to GPL version 2 only
      sql/rpl_utility.cc:
        Changed header to GPL version 2 only
      sql/rpl_utility.h:
        Changed header to GPL version 2 only
      sql/sql_binlog.cc:
        Changed header to GPL version 2 only
      sql/sql_partition.cc:
        Changed header to GPL version 2 only
      sql/sql_partition.h:
        Changed header to GPL version 2 only
      sql/sql_plugin.cc:
        Changed header to GPL version 2 only
      sql/sql_plugin.h:
        Changed header to GPL version 2 only
      sql/sql_servers.cc:
        Changed header to GPL version 2 only
      sql/sql_servers.h:
        Changed header to GPL version 2 only
      sql/sql_tablespace.cc:
        Changed header to GPL version 2 only
      sql/sql_yacc.yy.bak:
        Changed header to GPL version 2 only
      storage/Makefile.am:
        Changed header to GPL version 2 only
      storage/archive/Makefile.am:
        Changed header to GPL version 2 only
      storage/blackhole/Makefile.am:
        Changed header to GPL version 2 only
      storage/csv/Makefile.am:
        Changed header to GPL version 2 only
      storage/example/Makefile.am:
        Changed header to GPL version 2 only
      storage/federated/Makefile.am:
        Changed header to GPL version 2 only
      storage/innobase/handler/Makefile.am:
        Changed header to GPL version 2 only
      storage/ndb/include/kernel/signaldata/AllocNodeId.hpp:
        Changed header to GPL version 2 only
      storage/ndb/include/kernel/signaldata/CreateFilegroup.hpp:
        Changed header to GPL version 2 only
      storage/ndb/include/kernel/signaldata/CreateFilegroupImpl.hpp:
        Changed header to GPL version 2 only
      storage/ndb/include/kernel/signaldata/CreateObj.hpp:
        Changed header to GPL version 2 only
      storage/ndb/include/kernel/signaldata/DictObjOp.hpp:
        Changed header to GPL version 2 only
      storage/ndb/include/kernel/signaldata/DihFragCount.hpp:
        Changed header to GPL version 2 only
      storage/ndb/include/kernel/signaldata/DropFilegroup.hpp:
        Changed header to GPL version 2 only
      storage/ndb/include/kernel/signaldata/DropFilegroupImpl.hpp:
        Changed header to GPL version 2 only
      storage/ndb/include/kernel/signaldata/DropObj.hpp:
        Changed header to GPL version 2 only
      storage/ndb/include/kernel/signaldata/Extent.hpp:
        Changed header to GPL version 2 only
      storage/ndb/include/kernel/signaldata/LgmanContinueB.hpp:
        Changed header to GPL version 2 only
      storage/ndb/include/kernel/signaldata/PgmanContinueB.hpp:
        Changed header to GPL version 2 only
      storage/ndb/include/kernel/signaldata/RestoreContinueB.hpp:
        Changed header to GPL version 2 only
      storage/ndb/include/kernel/signaldata/RestoreImpl.hpp:
        Changed header to GPL version 2 only
      storage/ndb/include/kernel/signaldata/RouteOrd.hpp:
        Changed header to GPL version 2 only
      storage/ndb/include/kernel/signaldata/TsmanContinueB.hpp:
        Changed header to GPL version 2 only
      storage/ndb/include/ndbapi/NdbIndexStat.hpp:
        Changed header to GPL version 2 only
      storage/ndb/ndbapi-examples/mgmapi_logevent/mgmapi_logevent.cpp:
        Changed header to GPL version 2 only
      storage/ndb/ndbapi-examples/mgmapi_logevent_dual/mgmapi_logevent_dual.cpp:
        Changed header to GPL version 2 only
      storage/ndb/ndbapi-examples/ndbapi_async/ndbapi_async.cpp:
        Changed header to GPL version 2 only
      storage/ndb/ndbapi-examples/ndbapi_async1/ndbapi_async1.cpp:
        Changed header to GPL version 2 only
      storage/ndb/ndbapi-examples/ndbapi_event/ndbapi_event.cpp:
        Changed header to GPL version 2 only
      storage/ndb/ndbapi-examples/ndbapi_retries/ndbapi_retries.cpp:
        Changed header to GPL version 2 only
      storage/ndb/ndbapi-examples/ndbapi_scan/ndbapi_scan.cpp:
        Changed header to GPL version 2 only
      storage/ndb/ndbapi-examples/ndbapi_simple/ndbapi_simple.cpp:
        Changed header to GPL version 2 only
      storage/ndb/ndbapi-examples/ndbapi_simple_dual/ndbapi_simple_dual.cpp:
        Changed header to GPL version 2 only
      storage/ndb/ndbapi-examples/ndbapi_simple_index/ndbapi_simple_index.cpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/blocks/dbdih/printSysfile.cpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/blocks/dbtup/DbtupDiskAlloc.cpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/blocks/dbtup/DbtupVarAlloc.cpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/blocks/dbtup/Undo_buffer.cpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/blocks/dbtup/Undo_buffer.hpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/blocks/dbtup/tuppage.cpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/blocks/dbtup/tuppage.hpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/blocks/dbtux/DbtuxStat.cpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/blocks/diskpage.hpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/blocks/lgman.cpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/blocks/lgman.hpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/blocks/pgman.cpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/blocks/pgman.hpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/blocks/print_file.cpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/blocks/record_types.hpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/blocks/restore.cpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/blocks/restore.hpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/blocks/tsman.cpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/blocks/tsman.hpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/vm/DLCFifoList.hpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/vm/DLCHashTable.hpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/vm/DynArr256.cpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/vm/DynArr256.hpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/vm/KeyTable2Ref.hpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/vm/LinearPool.hpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/vm/NdbdSuperPool.cpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/vm/NdbdSuperPool.hpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/vm/Pool.cpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/vm/Pool.hpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/vm/RWPool.cpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/vm/RWPool.hpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/vm/Rope.hpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/vm/SLFifoList.hpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/vm/WOPool.cpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/vm/WOPool.hpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/vm/bench_pool.cpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/vm/ndbd_malloc_impl.cpp:
        Changed header to GPL version 2 only
      storage/ndb/src/kernel/vm/ndbd_malloc_impl.hpp:
        Changed header to GPL version 2 only
      storage/ndb/src/mgmsrv/ParamInfo.cpp:
        Changed header to GPL version 2 only
      storage/ndb/src/ndbapi/NdbIndexStat.cpp:
        Changed header to GPL version 2 only
      storage/ndb/test/ndbapi/testIndexStat.cpp:
        Changed header to GPL version 2 only
      storage/ndb/test/tools/listen.cpp:
        Changed header to GPL version 2 only
      storage/ndb/tools/restore/ndb_nodegroup_map.h:
        Changed header to GPL version 2 only
      strings/my_strchr.c:
        Changed header to GPL version 2 only
      unittest/mysys/base64-t.c:
        Changed header to GPL version 2 only
      unittest/mysys/bitmap-t.c:
        Changed header to GPL version 2 only
      unittest/mysys/my_atomic-t.c:
        Changed header to GPL version 2 only
      unittest/mytap/tap.c:
        Changed header to GPL version 2 only
      unittest/mytap/tap.h:
        Changed header to GPL version 2 only
      win/Makefile.am:
        Changed header to GPL version 2 only
      92e68d49
  15. 10 Nov, 2006 1 commit
    • unknown's avatar
      BUG#23171 (Illegal slave restart group position): · baaa102d
      unknown authored
      Second patch to fix skipping code. Moving relay and binary log 
      position changing code from do_apply_event [old exec_event()] into
      do_update_pos() and doing other changes necessary to support that.
      
      Fixing a bug that can cause deadlock if rotating binary log when committing
      a changes to a transactional table that is not inside a transaction and
      cause a rotate log.
      
      
      sql/log.cc:
        Changing condition in binlog_commit() to skip calling
        binlog_end_trans() twice to match condition in binlog_end_trans().
      sql/log_event.cc:
        Name change: apply_event_impl() -> do_apply_event()
        Name change: advance_coord_impl() -> do_update_pos()
        
        do_apply_event() now uses pointer to constant RELAY_LOG_INFO to prevent
        inadvertandly changing the position in the code. Doing this would make
        the skipping code loose track of where it is. All position changing code
        shall now be in do_update_pos().
        
        Factoring out relay and binary log position updating code from
        do_apply_event() [previously exec_event()] into do_update_pos().
        Using a safe approach to make it work: will refine the refactoring
        when the skipping code is implemented.
        
        Adding const casts where needed.
        
        Changing signature to use pointers to constant objects where needed.
      sql/rpl_rli.cc:
        Making cached_charset_compare() const to work with constant instances of RELAY_LOG_INFO.
        
        Debriding code.
      sql/rpl_rli.h:
        Making cached_charset_compare() const to work with constant instances of RELAY_LOG_INFO.
        
        Debriding code.
      sql/rpl_utility.cc:
        Using pointer to const RELAY_LOG_INFO to make it work with other code.
      sql/rpl_utility.h:
        Using pointer to const RELAY_LOG_INFO to make it work with other code.
      sql/slave.cc:
        Using pointer to const RELAY_LOG_INFO to make it work with other code.
        
        Adding const cast where necessary.
      sql/slave.h:
        Using pointer to const RELAY_LOG_INFO to make it work with other code.
      baaa102d
  16. 01 Nov, 2006 1 commit
    • unknown's avatar
      BUG#18581 (Creation of system tables recorded in binlog causing slave failure): · 66a04036
      unknown authored
      Not replicating the mysql database *at all* any more. All changes to
      mysql tables are replicated by replicating the statements that do
      the changes.
      
      
      mysql-test/r/rpl_do_grant.result:
        Result change
      mysql-test/t/rpl_do_grant.test:
        Deleting grants on both master and server since the mysql
        database is not replicated any more.
      sql/handler.cc:
        Removing code that selectively checks what tables in the mysql
        database to ignore. The entire mysql database is not replicated
        any more.
      sql/log_event.cc:
        Disabling code to reload grants and access when certain tables are
        touched.
      sql/rpl_rli.h:
        Removing unused code.
      sql/slave.cc:
        Removing unused code.
      sql/sql_class.cc:
        Mysql queries (i.e., queries that affects tables in the mysql database)
        are now replicated by statement instead of replicating the tables in
        the mysql database.
      66a04036
  17. 31 Oct, 2006 2 commits
    • unknown's avatar
      Refactoring: Moved master info functionality into rpl_mi.cc to · 82e8dfd5
      unknown authored
      make code easier to maintain.
      
      
      sql/CMakeLists.txt:
        New file
      sql/Makefile.am:
        New file
      sql/rpl_rli.h:
        Changed master_info into a class
      sql/slave.cc:
        Moved master info functionality into rpl_mi.cc
      sql/slave.h:
        Moved master info functionality into rpl_mi.cc
      sql/rpl_mi.cc:
        Moved master info functionality into rpl_mi.cc
      sql/rpl_mi.h:
        Moved master info functionality into rpl_mi.cc
      82e8dfd5
    • unknown's avatar
      Refactoring: Moved rli code to new file rpl_rli.cc. The idea being that rli · 69d92fb1
      unknown authored
      should be a separate module (i.e. a class) to make it easier to maintain the 
      code, e.g. by having checks within the rli checking sanity of data and making 
      member variables private.  This will also ease implementation of multi-source 
      and, at least in my fantasies :), make it possible in some future to have 
      separate replication servers.
      
      
      sql/Makefile.am:
        Added file rpl_rli.cc
      sql/repl_failsafe.cc:
        Move function
      sql/rpl_rli.h:
        moved functions
      sql/slave.cc:
        Moved rli code into rpl_rli.cc
      sql/sql_repl.cc:
        Changed function to be member function
      sql/rpl_rli.cc:
        Code for rli
      69d92fb1
  18. 09 May, 2006 1 commit
    • unknown's avatar
      Plugging memory leak in row-based replication triggered by · 221890f8
      unknown authored
      test rpl_err_ignoredtables.
      
      
      sql/log_event.cc:
        Clearing tables to lock list in the event of errors.
        Adding asserts to catch failing to clear the list of tables to lock.
        Releasing allocated memory if the table will not be replicated.
      sql/rpl_rli.h:
        Adding assert to ensure post-condition of clear_tables_to_lock().
        Minor rewrites.
      221890f8
  19. 05 May, 2006 1 commit
    • unknown's avatar
      WL#3153 "Split logs". Recommit with post-review fixes · 51e0c518
      unknown authored
      sql/ha_ndbcluster_binlog.cc:
        use MYSQL_BIN_LOG instead of MYSQL_LOG
      sql/log.cc:
         Split MYSQL_LOG into base MYSQL_LOG and
         MYSQL_GENERAL_LOG, MYSQL_SLOW_LOG, MYSQL_BIN_LOG
      sql/log.h:
        Split MYSQL_LOG into base MYSQL_LOG and
        MYSQL_GENERAL_LOG, MYSQL_SLOW_LOG, MYSQL_BIN_LOG
      sql/log_event.h:
        use MYSQL_BIN_LOG instead of MYSQL_LOG
      sql/mysql_priv.h:
        use MYSQL_BIN_LOG instead of MYSQL_LOG
      sql/mysqld.cc:
        fix appropriate comments: use MYSQL_BIN_LOG instead of MYSQL_LOG
      sql/rpl_injector.cc:
        use MYSQL_BIN_LOG instead of MYSQL_LOG
      sql/rpl_injector.h:
        use MYSQL_BIN_LOG instead of MYSQL_LOG
      sql/rpl_rli.h:
        use MYSQL_BIN_LOG instead of MYSQL_LOG
      sql/slave.cc:
        Fix appropriate comments: use MYSQL_BIN_LOG instead of MYSQL_LOG.
        Fix usage of new_file(): now we don't need to pass locking-related
        info to the function.
      sql/slave.h:
        Use MYSQL_BIN_LOG instead of MYSQL_LOG in appropriate comments
      51e0c518
  20. 16 Feb, 2006 1 commit
    • unknown's avatar
      WL#3023 (Use locks in a statement-like manner): · 41f7d138
      unknown authored
        Table maps are now written on aquiring locks to tables and released
        at the end of each logical statement.
      
      
      mysql-test/extra/binlog_tests/ctype_cp932.test:
        Disabling cleanup code
      mysql-test/r/binlog_row_blackhole.result:
        Result change
      mysql-test/r/binlog_row_mix_innodb_myisam.result:
        Result change
      mysql-test/r/binlog_stm_ctype_cp932.result:
        Result change
      mysql-test/r/rpl_row_charset.result:
        Result change
      mysql-test/r/rpl_row_create_table.result:
        Result change
      mysql-test/t/rpl_row_create_table.test:
        Binlog position change
      sql/handler.cc:
        Writing table map after external_lock()
      sql/handler.h:
        Adding class for table operation hooks.
      sql/log.cc:
        Adding binlog_write_table_map() to THD.
        Removing write_table_map() from MYSQL_LOG.
      sql/log.h:
        Minor interface changes to move table map writing.
      sql/log_event.cc:
        Removing pre-allocation of memory for buffers.
        Allowing ULONG_MAX as table id denoting an event to ignore (only used to transfer flags).
        Adding code to collect tables while seeing table maps and lock collected tables
        when seeing a binrow event.
        Debriding code as a result of the above changes.
      sql/log_event.h:
        Minor interface changes.
      sql/mysql_priv.h:
        Adding hooks argument to create_table_from_items().
      sql/parse_file.cc:
        Minor fix to avoid crash in debug printout.
      sql/rpl_rli.h:
        Adding list of tables to lock to RLI structure.
      sql/slave.cc:
        Using list of tables to lock from RLI structure.
      sql/sql_acl.cc:
        Removing redundant pending events flush.
      sql/sql_base.cc:
        Moving pending event flush.
        Using flag to guard to clear statement transaction only if this is the original
        open tables state.
      sql/sql_class.cc:
        Adding flag for open tables state.
        Removing redundant pending events flushes.
        Write a dummy event to indicate that the tables to lock should be emptied
        on the slave.
      sql/sql_class.h:
        Adding open tables state flags.
        Adding binlog_write_table_map() function to THD.
        Changes to select_create() to support new locking scheme.
      sql/sql_insert.cc:
        Adding rollback of statement transaction on error. It can now contain
        events after locking tables.
      sql/sql_load.cc:
        Removing redundant pending event flush.
      sql/sql_table.cc:
        Adding hooks argument to create_table_from_items().
        Calling prelock hook before starting to lock tables.
      sql/sql_update.cc:
        Removing a compiler warning.
      sql/table.h:
        Minor changes.
      41f7d138
  21. 22 Dec, 2005 1 commit
    • unknown's avatar
      WL#1012: All changes as one single changeset. · 09346e6e
      unknown authored
      This includes both code and test cases.
      
      
      BitKeeper/deleted/.del-ctype_ucs_binlog.result~280d136b1a0bcf17:
        Delete: mysql-test/r/ctype_ucs_binlog.result
      BitKeeper/deleted/.del-rpl_delete_all.result~7c050d592614b3f:
        Delete: mysql-test/r/rpl_delete_all.result
      BitKeeper/deleted/.del-rpl000013-slave.opt~18266ad8a2403e8d:
        Delete: mysql-test/t/rpl000013-slave.opt
      BitKeeper/deleted/.del-rpl_delete_all.test~700a1490277780e0:
        Delete: mysql-test/t/rpl_delete_all.test
      mysql-test/extra/binlog_tests/binlog.test:
        Import patch wl1012.patch
      mysql-test/extra/binlog_tests/blackhole.test:
        Import patch wl1012.patch
      mysql-test/extra/binlog_tests/ctype_cp932.test:
        Import patch wl1012.patch
      mysql-test/extra/binlog_tests/ctype_cp932_binlog.test:
        Import patch wl1012.patch
      mysql-test/extra/binlog_tests/ctype_ucs_binlog.test:
        Import patch wl1012.patch
      mysql-test/extra/binlog_tests/drop_temp_table.test:
        Import patch wl1012.patch
      mysql-test/extra/binlog_tests/insert_select-binlog.test:
        Import patch wl1012.patch
      mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_ddl.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_deadlock.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_err_ignoredtable.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_flsh_tbls.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_loaddata_m.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_log.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_max_relay_size.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_multi_query.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_reset_slave.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_stm_000001.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_stm_EE_err.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_stm_charset.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_user_variables.test:
        Import patch wl1012.patch
      mysql-test/r/binlog_stm_binlog.result:
        Import patch wl1012.patch
      mysql-test/r/binlog_stm_blackhole.result:
        Import patch wl1012.patch
      mysql-test/r/binlog_stm_ctype_cp932.result:
        Import patch wl1012.patch
      mysql-test/r/binlog_stm_ctype_ucs.result:
        Import patch wl1012.patch
      mysql-test/r/binlog_stm_drop_tmp_tbl.result:
        Import patch wl1012.patch
      mysql-test/r/binlog_stm_insert_select.result:
        Import patch wl1012.patch
      mysql-test/r/binlog_stm_mix_innodb_myisam.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_000012.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_000015.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_deadlock_innodb.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_flushlog_loop.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_loaddata_s.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_000001.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_EE_err.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_charset.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_ddl.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_err_ignoredtable.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_flsh_tbls.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_loaddata_m.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_log.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_max_relay_size.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_multi_query.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_mystery22.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_reset_slave.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_rewrt_db.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_sp.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_timezone.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_until.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_user_variables.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_view.result:
        Import patch wl1012.patch
      mysql-test/t/binlog_row_binlog-master.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_000012.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_000015-slave.sh:
        Import patch wl1012.patch
      mysql-test/t/rpl_000015.slave-mi:
        Import patch wl1012.patch
      mysql-test/t/rpl_000015.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_deadlock_innodb-slave.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_flushlog_loop-master.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_flushlog_loop-master.sh:
        Import patch wl1012.patch
      mysql-test/t/rpl_flushlog_loop-slave.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_flushlog_loop-slave.sh:
        Import patch wl1012.patch
      mysql-test/t/rpl_flushlog_loop.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_loaddata_s-slave.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_loaddata_s.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_000001-slave.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_err_ignoredtable-slave.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_loaddata_m-master.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_log-master.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_log-slave.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_mystery22.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_rewrt_db-slave.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_rewrt_db.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_sp-master.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_sp-slave.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_sp.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_timezone-master.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_timezone-slave.opt:
        Import patch wl1012.patch
      BUILD/SETUP.sh:
        Import patch wl1012.patch
      Makefile.am:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_timezone.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_until.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_view.test:
        Import patch wl1012.patch
      client/Makefile.am:
        Import patch wl1012.patch
      client/client_priv.h:
        Import patch wl1012.patch
      client/mysqlbinlog.cc:
        Import patch wl1012.patch
      configure.in:
        Import patch wl1012.patch
      include/Makefile.am:
        Import patch wl1012.patch
      include/base64.h:
        Import patch wl1012.patch
      include/config-win.h:
        Import patch wl1012.patch
      include/my_base.h:
        Import patch wl1012.patch
      include/my_global.h:
        Import patch wl1012.patch
      mysql-test/Makefile.am:
        Import patch wl1012.patch
      mysql-test/mysql-test-run.pl:
        Import patch wl1012.patch
      mysql-test/mysql-test-run.sh:
        Import patch wl1012.patch
      mysql-test/r/date_formats.result:
        Import patch wl1012.patch
      mysql-test/r/flush_block_commit.result:
        Import patch wl1012.patch
      mysql-test/r/innodb.result:
        Import patch wl1012.patch
      mysql-test/r/rpl000017.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_change_master.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_commit_after_flush.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_create_database.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_do_grant.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_loaddata.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_log_pos.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_multi_delete.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_multi_update.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_openssl.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_replicate_do.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_rotate_logs.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_server_id1.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_server_id2.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_temporary.result:
        Import patch wl1012.patch
      mysql-test/r/user_var-binlog.result:
        Import patch wl1012.patch
      mysql-test/t/create_select_tmp.test:
        Import patch wl1012.patch
      mysql-test/t/date_formats.test:
        Import patch wl1012.patch
      mysql-test/t/disabled.def:
        Import patch wl1012.patch
      mysql-test/t/innodb.test:
        Import patch wl1012.patch
      mysql-test/t/mysqlbinlog.test:
        Import patch wl1012.patch
      mysql-test/t/mysqlbinlog2.test:
        Import patch wl1012.patch
      mysql-test/t/rpl000002.test:
        Import patch wl1012.patch
      mysql-test/t/rpl000006.test:
        Import patch wl1012.patch
      mysql-test/t/rpl000013.test:
        Import patch wl1012.patch
      mysql-test/t/rpl000017.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_auto_increment.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_change_master.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_commit_after_flush.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_create_database.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_do_grant.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_drop.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_empty_master_crash.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_failed_optimize.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_heap.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_insert_id.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_insert_ignore.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_loaddata.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_log_pos.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_multi_delete.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_multi_update.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_multi_update2.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_multi_update3.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_openssl.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_redirect.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_relayrotate.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_replicate_do.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_rotate_logs.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_server_id1.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_sp_effects.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_temporary.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_trigger.test:
        Import patch wl1012.patch
      mysql-test/t/sp.test:
        Import patch wl1012.patch
      mysql-test/t/user_var-binlog.test:
        Import patch wl1012.patch
      mysys/Makefile.am:
        Import patch wl1012.patch
      mysys/base64.c:
        Import patch wl1012.patch
      sql/Makefile.am:
        Import patch wl1012.patch
      sql/ha_innodb.cc:
        Import patch wl1012.patch
      sql/ha_innodb.h:
        Import patch wl1012.patch
      sql/ha_partition.cc:
        Import patch wl1012.patch
      sql/handler.cc:
        Import patch wl1012.patch
      sql/handler.h:
        Import patch wl1012.patch
      sql/item_sum.cc:
        Import patch wl1012.patch
      sql/log.cc:
        Import patch wl1012.patch
      sql/log_event.cc:
        Import patch wl1012.patch
      sql/log_event.h:
        Import patch wl1012.patch
      sql/mysql_priv.h:
        Import patch wl1012.patch
      sql/mysqld.cc:
        Import patch wl1012.patch
      sql/rpl_filter.h:
        Import patch wl1012.patch
      sql/set_var.cc:
        Import patch wl1012.patch
      sql/share/errmsg.txt:
        Import patch wl1012.patch
      sql/slave.cc:
        Import patch wl1012.patch
      sql/slave.h:
        Import patch wl1012.patch
      sql/sp.cc:
        Import patch wl1012.patch
      sql/sp_head.cc:
        Import patch wl1012.patch
      sql/sql_acl.cc:
        Import patch wl1012.patch
      sql/sql_base.cc:
        Import patch wl1012.patch
      sql/sql_class.cc:
        Import patch wl1012.patch
      sql/sql_class.h:
        Import patch wl1012.patch
      sql/sql_delete.cc:
        Import patch wl1012.patch
      sql/sql_insert.cc:
        Import patch wl1012.patch
      sql/sql_lex.h:
        Import patch wl1012.patch
      sql/sql_list.h:
        Import patch wl1012.patch
      sql/sql_load.cc:
        Import patch wl1012.patch
      sql/sql_parse.cc:
        Import patch wl1012.patch
      sql/sql_plugin.cc:
        Import patch wl1012.patch
      sql/sql_rename.cc:
        Import patch wl1012.patch
      sql/sql_repl.h:
        Import patch wl1012.patch
      sql/sql_select.cc:
        Import patch wl1012.patch
      sql/sql_show.cc:
        Import patch wl1012.patch
      sql/sql_table.cc:
        Import patch wl1012.patch
      sql/sql_udf.cc:
        Import patch wl1012.patch
      sql/sql_union.cc:
        Import patch wl1012.patch
      sql/sql_update.cc:
        Import patch wl1012.patch
      sql/sql_yacc.yy:
        Import patch wl1012.patch
      sql/table.cc:
        Import patch wl1012.patch
      sql/table.h:
        Import patch wl1012.patch
      storage/innobase/include/lock0lock.h:
        Import patch wl1012.patch
      storage/innobase/include/row0mysql.h:
        Import patch wl1012.patch
      storage/innobase/include/row0vers.h:
        Import patch wl1012.patch
      storage/innobase/lock/lock0lock.c:
        Import patch wl1012.patch
      storage/innobase/row/row0mysql.c:
        Import patch wl1012.patch
      storage/innobase/row/row0sel.c:
        Import patch wl1012.patch
      storage/innobase/row/row0vers.c:
        Import patch wl1012.patch
      09346e6e