1. 26 Mar, 2008 1 commit
  2. 21 Mar, 2008 2 commits
  3. 19 Mar, 2008 1 commit
    • aelkin/andrei@mysql1000.(none)'s avatar
      Bug #35178 INSERT_ID not written to binary log for inserts against BLACKHOLE backed tables · b581227f
      aelkin/andrei@mysql1000.(none) 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.
      b581227f
  4. 17 Mar, 2008 1 commit
    • aelkin/andrei@mysql1000.(none)'s avatar
      Bug #18199 PURGE BINARY LOGS fails silently with missing logs; · 18dab9d7
      aelkin/andrei@mysql1000.(none) 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.
      18dab9d7
  5. 14 Mar, 2008 2 commits
    • mkindahl@dl145h.mysql.com's avatar
      Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0 · 6a4c4b18
      mkindahl@dl145h.mysql.com authored
      into  dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl
      6a4c4b18
    • hezx@mail.hezx.com's avatar
      BUG#33029 5.0 to 5.1 replication fails on dup key when inserting · 97ae23f4
      hezx@mail.hezx.com 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.
      97ae23f4
  6. 13 Mar, 2008 1 commit
  7. 12 Mar, 2008 4 commits
  8. 11 Mar, 2008 1 commit
  9. 10 Mar, 2008 2 commits
  10. 08 Mar, 2008 1 commit
  11. 07 Mar, 2008 3 commits
  12. 06 Mar, 2008 2 commits
  13. 05 Mar, 2008 2 commits
  14. 03 Mar, 2008 5 commits
    • joerg@trift2.'s avatar
      687d2131
    • sergefp@mysql.com's avatar
      BUG#34945: "ref_or_null queries that are null_rejecting and have a null value crash mysql" · b779af55
      sergefp@mysql.com 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.
      b779af55
    • kaa@kaamos.(none)'s avatar
      Merge kaamos.(none):/data/src/opt/bug31781/my50 · 232e9d3c
      kaa@kaamos.(none) authored
      into  kaamos.(none):/data/src/opt/mysql-5.0-opt
      232e9d3c
    • kaa@kaamos.(none)'s avatar
      Fix for bug #31781: multi-table UPDATE with temp-pool enabled fails · bd53f960
      kaa@kaamos.(none) 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.
      bd53f960
    • gluh@mysql.com/mgluh.(none)'s avatar
      test case fix · fc1ae077
      gluh@mysql.com/mgluh.(none) authored
      fc1ae077
  15. 02 Mar, 2008 1 commit
  16. 01 Mar, 2008 1 commit
  17. 29 Feb, 2008 7 commits
  18. 28 Feb, 2008 3 commits
    • davi@mysql.com/endora.local's avatar
      Post-merge fix for Bug 33851. The initialization order of members · 369c2493
      davi@mysql.com/endora.local authored
      must match the order which they were declared in the class definition. 
      369c2493
    • gshchepa/uchum@host.loc's avatar
      Merge host.loc:/home/uchum/work/PP/5.0-opt-34620 · 11a27f12
      gshchepa/uchum@host.loc authored
      into  host.loc:/home/uchum/work/5.0-opt
      11a27f12
    • gshchepa/uchum@host.loc's avatar
      Fixed bug #34620: item_row.cc:50: Item_row::illegal_method_call(const char*): · c5110674
      gshchepa/uchum@host.loc authored
                        Assertion `0' failed
      
      If ROW item is a part of an expression that also has
      aggregate function calls (COUNT/SUM/AVG...), a
      "splitting" with an Item::split_sum_func2 function
      is applied to that ROW item.
      Current implementation of Item::split_sum_func2
      replaces this Item_row with a newly created
      Item_aggregate_ref reference to it.
      Then the row cache tries to work with the
      Item_aggregate_ref object as with the Item_row object:
      row cache calls row-emulation methods such as cols and
      element_index. Item_aggregate_ref (like it's parent
      Item_ref) inherits dummy implementations of those
      methods from the hierarchy root Item, and call to
      them leads to failed assertions and wrong data
      output.
      
      Row-emulation virtual functions (cols, element_index, addr,
      check_cols, null_inside and bring_value) of Item_ref have
      been overloaded to forward calls to an underlying item
      reference.
      
      c5110674