1. 21 Jul, 2006 1 commit
  2. 11 Jul, 2006 1 commit
  3. 10 Jul, 2006 4 commits
  4. 09 Jul, 2006 1 commit
    • aelkin/elkin@dsl-hkigw8-feb1fb00-100.dhcp.inet.fi's avatar
      BUG#20919 temp tables closing fails when binlog is off · fadbdf27
      closing temp tables through end_thread
      had a flaw in binlog-off branch of close_temporary_tables where
      next table to close was reset via table->next
       for (table= thd->temporary_tables; table; table= table->next)
      which was wrong since the current table instance got destoyed at
      	close_temporary(table, 1);
      
      The fix adapts binlog-on branch method to engage the loop's internal 'next' variable which holds table->next prior table's destoying.
      fadbdf27
  5. 06 Jul, 2006 3 commits
  6. 05 Jul, 2006 6 commits
    • ingo@mysql.com's avatar
      After merge fix · b21acbe0
      ingo@mysql.com authored
      b21acbe0
    • guilhem@mysql.com's avatar
      Fix for BUG#20188 "REPLACE or ON DUPLICATE KEY UPDATE in · a43c4b02
      guilhem@mysql.com authored
      auto_increment breaks binlog":
      if slave's table had a higher auto_increment counter than master's (even
      though all rows of the two tables were identical), then in some cases,
      REPLACE and INSERT ON DUPLICATE KEY UPDATE failed to replicate
      statement-based (it inserted different values on slave from on master).
      write_record() contained a "thd->next_insert_id=0" to force an adjustment
      of thd->next_insert_id after the update or replacement. But it is this
      assigment introduced indeterminism of the statement on the slave, thus
      the bug. For ON DUPLICATE, we replace that assignment by a call to
      handler::adjust_next_insert_id_after_explicit_value() which is deterministic
      (does not depend on slave table's autoinc counter). For REPLACE, this
      assignment can simply be removed (as REPLACE can't insert a number larger
      than thd->next_insert_id).
      We also move a too early restore_auto_increment() down to when we really know
      that we can restore the value.
      a43c4b02
    • ingo@mysql.com's avatar
      Merge mysql.com:/home/mydev/mysql-4.1-bug19835 · 4c008059
      ingo@mysql.com authored
      into  mysql.com:/home/mydev/mysql-5.0-ateam
      4c008059
    • ingo@mysql.com's avatar
      Merge mysql.com:/home/mydev/mysql-4.1-bug17877 · 5025bf32
      ingo@mysql.com authored
      into  mysql.com:/home/mydev/mysql-5.0-ateam
      5025bf32
    • ingo@mysql.com's avatar
      Merge mysql.com:/home/mydev/mysql-4.1-bug14400 · a21071d9
      ingo@mysql.com authored
      into  mysql.com:/home/mydev/mysql-5.0-ateam
      a21071d9
    • ingo@mysql.com's avatar
      Merge mysql.com:/home/mydev/mysql-4.1-bug11824 · 20a152d5
      ingo@mysql.com authored
      into  mysql.com:/home/mydev/mysql-5.0-ateam
      20a152d5
  7. 04 Jul, 2006 1 commit
  8. 03 Jul, 2006 4 commits
  9. 29 Jun, 2006 4 commits
  10. 28 Jun, 2006 11 commits
    • ingo@mysql.com's avatar
      Bug#14400 - Query joins wrong rows from table which is subject of "concurrent insert" · 99ad23ec
      ingo@mysql.com authored
      It was possible that fetching a record by an exact key value 
      (including the record pointer) could return a record with a 
      different key value. This happened only if a concurrent insert 
      added a record with the searched key value after the fetching 
      statement locked the table for read.
      
      The search succeded on the key value, but the record was
      rejected as it was past the file length that was remembered
      at start of the fetching statement. With other words it was 
      rejected as being a concurrently inserted record.
      
      The action to recover from this problem was to fetch the 
      record that is pointed at by the next key of the index. 
      This was repeated until a record below the file length was 
      found.
      
      I do now avoid this loop if an exact match was searched. 
      If this match is beyond the file length, it is now treated 
      as "key not found". There cannot be another key with the 
      same record pointer.
      99ad23ec
    • lars@mysql.com's avatar
      Merge mysql.com:/users/lthalmann/bkroot/mysql-5.0-rpl · 6036c30b
      lars@mysql.com authored
      into  mysql.com:/users/lthalmann/bk/MERGE/mysql-5.0-merge
      6036c30b
    • ingo@mysql.com's avatar
      Bug#19835 - Binary copy of corrupted tables crash the server when issuing a query · 9dd5bc38
      ingo@mysql.com authored
      A corrupt table with dynamic record format can crash the 
      server when trying to select from it.
              
      I fixed the crash that resulted from the particular type 
      of corruption that has been reported for this bug.
      
      No test case. To test it, one needs a table with a very special
      corruption. The bug report contains a file with such a table.
      9dd5bc38
    • knielsen@mysql.com's avatar
      BUG#20739. · 10abc3e2
      knielsen@mysql.com authored
      In the Windows build files, the "Max nt" configuration for some reason
      had the mysql_client_test project disabled. Enable it.
      10abc3e2
    • lars@mysql.com's avatar
      38501d88
    • ingo@mysql.com's avatar
      Bug#17877 - Corrupted spatial index · d8499f2d
      ingo@mysql.com authored
      CHECK TABLE could complain about a fully intact spatial index.
      A wrong comparison operator was used for table checking. 
      The result was that it checked for non-matching spatial keys. 
      This succeeded if at least two different keys were present, 
      but failed if only the matching key was present.
      
      I fixed the key comparison.
      d8499f2d
    • knielsen@mysql.com's avatar
      BUG#20739 · e8df7d43
      knielsen@mysql.com authored
      Improved definition of mysys configuration for -nt builds.
      e8df7d43
    • knielsen@mysql.com's avatar
      BUG#20739: __NT__ not probably defined for mysys project. · 529a2d12
      knielsen@mysql.com authored
      Make sure for the mysys project that __NT__ is defined in *nt solution
      configurations (but not in other configurations).
      529a2d12
    • aivanov@mysql.com's avatar
      c18a4e36
    • aivanov@mysql.com's avatar
      Merge aivanov@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl · 0a9c2389
      aivanov@mysql.com authored
      into  mysql.com:/home/alexi/bugs/mysql-5.0-19208
      0a9c2389
    • aivanov@mysql.com's avatar
      Fixing BUG#17719 "Delete of binlog files fails on Windows" · 7dc30c68
      aivanov@mysql.com authored
       and BUG#19208 "Test 'rpl000017' hangs on Windows".
       Both bugs are caused by attempting to delete an opened
       file and to create immediatedly a new one with the same
       name. On Windows it can be supported only on NT-platforms
       (by using FILE_SHARE_DELETE mode and with renaming the
       file before deletion). Because deleting not-closed files
       is not supported on all platforms (e.g. Win 98|ME) this
       is to be considered harmful and should be eliminated by
       a "code redesign".
      7dc30c68
  11. 27 Jun, 2006 4 commits
    • svoj@may.pils.ru's avatar
      BUG#1662 - ALTER TABLE LIKE ignores DATA/INDEX DIRECTPORY · ffd8ed17
      svoj@may.pils.ru authored
      Produce a warning if DATA/INDEX DIRECTORY is specified in
      ALTER TABLE statement.
      
      Ignoring of these options is documented in the symbolic links
      section of the manual.
      ffd8ed17
    • kroki@mysql.com's avatar
      Dec. 31st, 9999 is still a valid date, only starting with Jan 1st 10000 things... · 49cc2904
      kroki@mysql.com authored
      Dec. 31st, 9999 is still a valid date, only starting with Jan 1st 10000 things become invalid (Bug #12356)
      49cc2904
    • holyfoot@mysql.com's avatar
      Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1 · 366339f4
      holyfoot@mysql.com authored
      into mysql.com:/home/hf/work/mysql-4.1.clean
      366339f4
    • ingo@mysql.com's avatar
      Bug#11824 - internal /tmp/*.{MYD,MYI} files remain, causing subsequent queries to fail · e67bdaf6
      ingo@mysql.com authored
      Very complex select statements can create temporary tables
      that are too big to be represented as a MyISAM table.
      
      This was not checked at table creation time, but only at
      open time. The result was an attempt to delete the 
      "impossible" table.
      
      But if the server is built --with-raid, MyISAM tries to 
      open the table before deleting the files. It needs to find 
      out if the table uses the raid support and how many raid 
      chunks there are. This is done with an open "for repair",
      which will almost always succeed.
      
      But in this case we have an "impossible" table. The open
      failed. Hence the files were not deleted. Also the error
      message was a bit unspecific.
      
      I turned an open error in this situation into the assumption 
      of having no raid support on the table. Thus the normal data 
      file is tried to be deleted. This may however leave existing 
      raid chunks behind.
      
      I also added a check in mi_create() to prevent the creation
      of an "impossible" table. A more decriptive error message is
      given in this case.
      
      No test case. The required select statement is way too
      large for the test suite. I added a test script to the
      bug report.
      e67bdaf6