1. 27 Mar, 2008 1 commit
    • unknown's avatar
      post fix after push of BUG#33029 · efb9a7a0
      unknown authored
      
      mysql-test/r/binlog_killed_simulate.result:
        Update test result after push of bug#33029
      mysql-test/r/mix_innodb_myisam_binlog.result:
        Update test result after push of bug#33029
      mysql-test/r/multi_update.result:
        Update test result after push of bug#33029
      mysql-test/r/rpl_auto_increment_bug33029.result:
        disable warning messages
      mysql-test/r/rpl_user.result:
        Update test result after push of bug#33029
      mysql-test/t/rpl_auto_increment_bug33029.test:
        disable warning messages
      efb9a7a0
  2. 26 Mar, 2008 1 commit
  3. 21 Mar, 2008 2 commits
  4. 19 Mar, 2008 1 commit
    • unknown's avatar
      Bug #35178 INSERT_ID not written to binary log for inserts against BLACKHOLE backed tables · 9ba34470
      unknown authored
      binlogging of insert into a autoincrement blackhole table ignored
      an explicit set insert_id.
      
      Fixed with refining of the blackhole's insert method to call
      update_auto_increment() that prepares binlogging the insert query 
      with the preceeding set insert_id.
      
      Note, as the engine does not store any actual data one has to explicitly
      provide to the server with the value of the autoincrement column via
      set insert_id. Otherwise binlogging will happend with the default 
      set insert_id=1.
      
      
      mysql-test/r/blackhole.result:
        results changed
      mysql-test/t/blackhole.test:
        a regression test for the bug added
      sql/ha_blackhole.cc:
        blackhole's insert method is refined to call update_auto_increment()
        that prepares binlogging the insert query with the preceeding set insert_id.
      9ba34470
  5. 17 Mar, 2008 1 commit
    • unknown's avatar
      Bug #18199 PURGE BINARY LOGS fails silently with missing logs; · 2da2b559
      unknown authored
      Bug #18453  Warning/error message if there is a mismatch between ...
       
      There were three problems:
       
       1. the reported lack of warnings for the BEFORE syntax of PURGE;
       2. the similar lack of warnings for the TO syntax;
       3. incompatible behaviour between the two in that the latter blanked out
          regardlessly of presence or lack the actual file corresponding to
          an index record; the former version gave up at the first mismatch.
      
      fixed with deploying the warning's generation and synronizing logics of 
      purge_logs() and purge_logs_before_date().
      my_stat() is called in either of two branches of purge_logs() (responsible
      for the TO syntax of PURGE) similarly to how it has behaved in the BEFORE syntax.
      If there is no actual binlog file, my_stat returns NULL and my_delete is
      not invoked.
      A critical error is reported to the user if a file from the index
      could not be retrieved info about or deleted with a system error code
      different than ENOENT.
      
      
      sql/log.cc:
        generating warning in two functions.
        refining logics to call my_stat() by purge_logs() as it happens
        in purge_logs_before_date().
        my_delete() is called only if my_stat() ensured existance of the file.
        A critical error is reported to the user if a file from the index
        could not be my_stat():ed or my_delete():d with an error different
        than ENOENT.
      sql/share/errmsg.txt:
        new error message
      mysql-test/include/show_binary_logs.inc:
        a new macro - shortcut of show binary logs
      mysql-test/r/binlog_index.result:
        new results
      mysql-test/t/binlog_index.test:
        a regression test for the bugs
      2da2b559
  6. 14 Mar, 2008 2 commits
    • unknown's avatar
      Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0 · 90628f25
      unknown authored
      into  dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl
      
      90628f25
    • unknown's avatar
      BUG#33029 5.0 to 5.1 replication fails on dup key when inserting · d4edd4af
      unknown authored
      using a trig in SP
      
      For all 5.0 and up to 5.1.12 exclusive, when a stored routine or
      trigger caused an INSERT into an AUTO_INCREMENT column, the
      generated AUTO_INCREMENT value should not be written into the
      binary log, which means if a statement does not generate
      AUTO_INCREMENT value itself, there will be no Intvar event (SET
      INSERT_ID) associated with it even if one of the stored routine
      or trigger caused generation of such a value. And meanwhile, when
      executing a stored routine or trigger, it would ignore the
      INSERT_ID value even if there is a INSERT_ID value available set
      by a SET INSERT_ID statement.
      
      Starting from MySQL 5.1.12, the generated AUTO_INCREMENT value is
      written into the binary log, and the value will be used if
      available when executing the stored routine or trigger.
      
      Prior fix of this bug in MySQL 5.0 and prior MySQL 5.1.12
      (referenced as the buggy versions in the text below), when a
      statement that generates AUTO_INCREMENT value by the top
      statement was executed in the body of a SP, all statements in the
      SP after this statement would be treated as if they had generated
      AUTO_INCREMENT by the top statement.  When a statement that did
      not generate AUTO_INCREMENT value by the top statement but by a
      function/trigger called by it, an erroneous Intvar event would be
      associated with the statement, this erroneous INSERT_ID value
      wouldn't cause problem when replicating between masters and
      slaves of 5.0.x or prior 5.1.12, because the erroneous INSERT_ID
      value was not used when executing functions/triggers. But when
      replicating from buggy versions to 5.1.12 or newer, which will
      use the INSERT_ID value in functions/triggers, the erroneous
      value will be used, which would cause duplicate entry error and
      cause the slave to stop.
      
      The patch for 5.0 fixed it not to generate the erroneous Intvar
      event, another patch for 5.1 fixed it to ignore the SET INSERT_ID
      value when executing functions/triggers if it is replicating from
      a master of buggy versions.
      
      
      mysql-test/include/show_binlog_events.inc:
        add $binlog_start parameter to set the start position when show binlog events, if not set a default value will be used.
        
        mask out column 2(Pos), 4(Server_id), table_id, and file_id
      sql/sql_class.cc:
        Reset insert_id_used after each query in SP
      mysql-test/r/rpl_auto_increment_bug33029.result:
        Add test for bug33029, test if the master generate the erroneous event or not
      mysql-test/t/rpl_auto_increment_bug33029.test:
        Add test for bug33029, test if the master generate the erroneous event or not
      d4edd4af
  7. 13 Mar, 2008 1 commit
  8. 12 Mar, 2008 4 commits
  9. 11 Mar, 2008 1 commit
    • unknown's avatar
      BUG#31024: STOP SLAVE does not stop attempted connect()s · d6c738c0
      unknown authored
      Problem: if the IO slave thread is attempting to connect,
      STOP SLAVE waits for the attempt to finish. 
      It may take a long time.
      Fix: don't wait, stop the slave immediately.
      
      
      sql/slave.cc:
        Send a SIGALRM signal to the slave thread when stopping it (using
        pthread_kill()). This breaks current socket(), connect(), poll() etc.
        calls, and makes the subsequent thd->awake() call effective.
        
        Also, move the definition of KICK_SLAVE to slave.cc.
      sql/sql_repl.h:
        Removed KICK_SLAVE and inlined it in slave.cc because:
         - it was only called once, so better to make it local to where it is used
         - it needed to include a preprocessor conditional in the middle
      d6c738c0
  10. 10 Mar, 2008 2 commits
  11. 08 Mar, 2008 1 commit
  12. 07 Mar, 2008 3 commits
    • unknown's avatar
      Bug #26622 MASTER_POS_WAIT does not work as documented · c5a92ca0
      unknown authored
      Affected tests fixing. After the fix for st_relay_log_info::wait_for_pos() that
      handles widely used select('master-bin.xxxx',pos) invoked by mysqltest
      there appeared to be four tests that either tried synchronizing when
      the slave was stopped or used incorrect synchronization method like
      to call `sync_with_master' from the current connection being to the
      master itself.
      
      Fixed with correcting the current connection or/and using the correct
      synchronization macro when possible.
      
      
      mysql-test/r/rpl_loaddata.result:
        results changed
      mysql-test/r/rpl_slave_status.result:
        results changed
      mysql-test/t/rpl_loaddata.test:
        fixing cleanup for two tests
      mysql-test/t/rpl_skip_error.test:
        fixing cleanup for two tests
      mysql-test/t/rpl_slave_status.test:
        fixing cleanup
      mysql-test/t/rpl_temporary.test:
        fixing synchronizations to use the intended correct macro.
      c5a92ca0
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 44704088
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B34909-5.0-opt
      
      44704088
    • unknown's avatar
      Bug #34909: mysqldump returns a 0 status on error when using · 159c34bf
      unknown authored
        --master-data
      
      No error code was returned by mysqldump if it detects that binary
      logging is not enabled on the server.
      Fixed by returning error code.
      
      
      client/mysqldump.c:
        Bug #34909: add error code
      mysql-test/r/mysqldump-no-binlog.result:
        Bug #34909: test case
      mysql-test/t/mysqldump-no-binlog-master.opt:
        Bug #34909: test case
      mysql-test/t/mysqldump-no-binlog.test:
        Bug #34909: test case
      159c34bf
  13. 06 Mar, 2008 2 commits
    • unknown's avatar
      Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 4b9aa6a4
      unknown authored
      into  mysql.com:/home/psergey/mysql-5.0-bug34945
      
      4b9aa6a4
    • unknown's avatar
      Bug#26622 MASTER_POS_WAIT does not work as documented · 16d529d3
      unknown authored
      MASTER_POS_WAIT return values are different than expected when the server is not a slave. 
      It returns -1 instead of NULL.
      
      Fixed with correcting  st_relay_log_info::wait_for_pos() to return the proper
      value in the case of rli info is not inited.
      
      
      mysql-test/r/rpl_master_pos_wait.result:
        results changed
      mysql-test/t/rpl_master_pos_wait.test:
        the new test to check that select master_pos_wait() to a server does 
        not have master info returns NULL as specified.
      sql/slave.cc:
        changing the return value to correspond the specification.
      16d529d3
  14. 05 Mar, 2008 2 commits
    • unknown's avatar
      Fix for bug #34889: mysql_client_test::test_mysql_insert_id test fails · 5c94cde7
      unknown authored
                          sporadically
      
      Under some circumstances, the mysql_insert_id() value after SELECT ...
      INSERT could return a wrong value. This could happen when the last
      SELECT ... INSERT did not involve an AUTO_INCREMENT column, but the
      value of mysql_insert_id() was changed by some previous statements.
      
      Fixed by checking the value of thd->insert_id_used in
      select_insert::send_eof() and returning 0 for mysql_insert_id() if it
      is not set.
      
      
      sql/sql_insert.cc:
        Do not return thd->last_insert_id unconditionally in
        select_insert::send_eof(). First check if thd->insert_id_used is
        non-zero, and return 0 otherwise.
      tests/mysql_client_test.c:
        Added a test case for bug #34889.
      5c94cde7
    • unknown's avatar
      Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0 · e1e509b7
      unknown authored
      into  dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl
      
      e1e509b7
  15. 03 Mar, 2008 5 commits
    • unknown's avatar
      Raise the version number after cloning 5.0.58 · d336e13b
      unknown authored
      d336e13b
    • unknown's avatar
      BUG#34945: "ref_or_null queries that are null_rejecting and have a null value crash mysql" · 2caf10ee
      unknown authored
      - Apply Eric Bergen's patch: in join_read_always_key(), move ha_index_init() call
        to before the late NULLs filtering code.
      - Backport function comments from 6.0.
      
      
      mysql-test/r/null_key.result:
        BUG#34945: "ref_or_null queries that are null_rejecting and have a null value crash mysql"
        - Testcase
      mysql-test/t/null_key.test:
        BUG#34945: "ref_or_null queries that are null_rejecting and have a null value crash mysql"
        - Testcase
      sql/sql_select.cc:
        BUG#34945: "ref_or_null queries that are null_rejecting and have a null value crash mysql"
        - Apply Eric Bergen's patch: in join_read_always_key(), move ha_index_init() call
          to before the late NULLs filtering code.
        - Backport function comments from 6.0
      2caf10ee
    • unknown's avatar
      Merge kaamos.(none):/data/src/opt/bug31781/my50 · bcf0b119
      unknown authored
      into  kaamos.(none):/data/src/opt/mysql-5.0-opt
      
      bcf0b119
    • unknown's avatar
      Fix for bug #31781: multi-table UPDATE with temp-pool enabled fails · 810c40ab
      unknown authored
                          with errno 17
      
      my_create() did not perform any checks for the case when a file is
      successfully created by a call to open(), but the call to
      my_register_filename() later fails because the number of open files
      has exceeded the my_open_files limit. This can happen on platforms 
      which do not have getrlimit(), and hence we do not know the real limit
      for open files. In such a case an error was returned to a caller
      although the file has actually been created. Since callers assume
      my_create() to return an error only when it failed to create a file,
      they did not perform any cleanups, leaving an 'orphaned' file on the
      file system.
      
      Fixed by adding a check for the above case to my_create() and ensuring
      the newly created file is deleted before returning an error.
      
      Creating a deterministic test case in the test suite is impossible,
      because the exact steps required to reproduce the above situation
      depend on the platform and/or environment (OS per-user limits, queries
      executed by previous tests, startup parameters). The patch was
      manually tested on Windows using examples posted in the bug report.
      
      
      mysys/my_create.c:
        Ensure that, if the call to my_register_filename() in my_create()
        failed, but the previous open() called succeeded, the newly created
        file is deleted before returning an error.
      810c40ab
    • unknown's avatar
      test case fix · c024555a
      unknown authored
      c024555a
  16. 02 Mar, 2008 1 commit
    • unknown's avatar
      Bug#22438 · 658c9617
      unknown authored
      
      mysql-test/r/mysqldump.result:
        updated result
      mysql-test/t/mysqldump.test:
        hide master_log_pos number
      658c9617
  17. 01 Mar, 2008 1 commit
  18. 29 Feb, 2008 7 commits
    • unknown's avatar
      wrong merge fix · 88790657
      unknown authored
      88790657
    • unknown's avatar
      Merge mysql.com:/home/gluh/MySQL/Merge/4.1-opt · a1003a6c
      unknown authored
      into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
      
      
      mysql-test/t/symlink.test:
        Auto merged
      mysql-test/r/symlink.result:
        after merge fix
      a1003a6c
    • unknown's avatar
      test fix · cdcbcc5a
      unknown authored
      
      mysql-test/r/symlink.result:
        result fix
      cdcbcc5a
    • unknown's avatar
      Fixed bug #34830: mixed table and field names in Item_ref · fe65567e
      unknown authored
                        and Item_direct_ref constructor calls.
      
      Order of ref->field_name and ref->table_name arguments
      is of Item_ref and Item_direct_ref in the fix_inner_refs
      function is inverted.
      
      
      sql/sql_select.cc:
        Fixed bug #34830: mixed table and field names in Item_ref
                          and Item_direct_ref constructor calls.
        
        Order of ref->field_name and ref->table_name arguments
        is of Item_ref and Item_direct_ref in the fix_inner_refs
        function is inverted. See definitions:
        
          Item_ref(Name_resolution_context *context_arg, Item **item,
                   const char *table_name_arg, const char *field_name_arg,
                   bool alias_name_used_arg= FALSE)
          and
        
          Item_direct_ref(Name_resolution_context *context_arg, Item **item,
                          const char *table_name_arg,
                          const char *field_name_arg,
                          bool alias_name_used_arg= FALSE)
      fe65567e
    • unknown's avatar
      after merge fix · c2b51c23
      unknown authored
      c2b51c23
    • unknown's avatar
      Merge mysql.com:/home/gluh/MySQL/Merge/4.1-opt · 88cee26e
      unknown authored
      into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
      
      
      sql/mysql_priv.h:
        Auto merged
      mysql-test/r/symlink.result:
        manual merge
      mysql-test/t/symlink.test:
        manual merge
      sql/mysqld.cc:
        manual merge
      sql/sql_parse.cc:
        manual merge
      88cee26e
    • unknown's avatar
      Bug#32167 another privilege bypass with DATA/INDEX DIRECORY(ver 4.1,5.0) · 69289dbf
      unknown authored
      added new function test_if_data_home_dir() which checks that
      path does not contain mysql data home directory.
      Using of mysql data home directory in
      DATA DIRECTORY & INDEX DIRECTORY is disallowed.
      
      
      mysql-test/r/symlink.result:
        test result
      mysql-test/t/symlink.test:
        test case
      sql/mysql_priv.h:
        new variable mysql_unpacked_real_data_home
      sql/mysqld.cc:
        new variable mysql_unpacked_real_data_home
      sql/sql_parse.cc:
        added new function test_if_data_home_dir() which checks that
        path does not contain mysql data home directory.
        Using of mysql data home directory in
        DATA DIRECTORY & INDEX DIRECTORY is disallowed.
      69289dbf
  19. 28 Feb, 2008 2 commits