1. 18 Nov, 2008 1 commit
    • V Narayanan's avatar
      Bug#39616: Missing quotes from .CSV crashes server · af2e74f8
      V Narayanan authored
            
      When a CSV file contained comma separated elements 
      that were not enclosed in quotes, it was causing the
      mysql server to crash.
            
      The old algorithm that parsed the content of a row in
      mysql 5.0 was assuming that the values of the fields
      in a .CSV file will be enclosed in quotes and will be
      separated by commas.
      
      This was causing the old algorithm to fail when the 
      content of the file resembled the following
      3,"sans quotes"
      The CSV engine that is part of mysql 5.0 was expecting
      the above to be
      "3","sans quotes"
            
      The above is just one example of where the engine was
      failing for what would be recognized as a valid .CSV 
      file content otherwise.
            
      The proposed fix changes the old algorithm being used
      to parse rows from the .CSV file to handle two separate
      cases
      
      1) When the current field of the row is enclosed in quotes
      2) When the current field of the row is not enclosed in 
         quotes
      af2e74f8
  2. 17 Nov, 2008 1 commit
    • Alexey Botchkov's avatar
      Bug#31616 div_precision_increment description looks wrong · 56dc6b2e
      Alexey Botchkov authored
      Item_func_div didn't calculate the precision of the result properly.
        The result of 5/0.0001 is 5000 so we have to add decimals of the divisor
        to the planned precision.
      
      per-file comments:
        mysql-test/r/type_newdecimal.result
      Bug#31616 div_precision_increment description looks wrong
          test result fixed
      
        mysql-test/t/type_newdecimal.test
      Bug#31616 div_precision_increment description looks wrong
          test case
      
        sql/item_func.cc
      Bug#31616 div_precision_increment description looks wrong
          precision must be increased with args[1]->decimals parameter
      56dc6b2e
  3. 14 Nov, 2008 3 commits
    • Gleb Shchepa's avatar
      Bug #40021: Renaming view fails, archived .frm for view is · b82094a0
      Gleb Shchepa authored
                  missing after downgrade
      
      Obsolete arc/ directory and view .frm file backup support
      has been removed by the patch for bug 17823. However, that
      bugfix caused a problem with "live downgrades" of the
      server: if we rename some view 4 times under 5.1.29/5.0.72
      and then try to rename it under 5.1.28/5.0.70 on the same
      database, the server fails with a error:
      
        query 'RENAME TABLE ... TO ...' failed: 6: Error on
        delete of '....frm-0001' (Errcode: 2)
      
      Also .frm file of that view may be lost (renamed to .frm~).
      
      The server failed because it tried to rename latest 3
      backup .frm files renaming the view: the server used an
      integer value of the "revision" field of .frm file to
      extract those file names. After the fix for bug 17823 those
      files were not created/maintained any more, however the
      "revision" field was incremented as usual. So, the server
      failed renaming non existent files.
      
      This fix solves the problem by removing the support for
      "revision" .frm file field:
      1. New server silently ignores existent "revision" fields
         in old .frm files and never write it down;
      2. Old server assumes, that missing "revision" field in new
         .frm files means default value of 0.
      3. Accordingly to the fix for bug 17823 the new server
         drops arc/ directory on alter/rename view, so after
         "live downgrade" old server begins maintenance of the
         arc/ directory from scratch without conflicts with .frm
         files.
      b82094a0
    • Ramil Kalimullin's avatar
      Test case for bug #34774: key prefix on text field in federated · ee3594b2
      Ramil Kalimullin authored
      tables can cause server to crash!
      
      The bug will be fixed by patch for #34779: "crash in checksum table
      on federated tables with blobs containing nulls"
      
      Only a test case commited.
      ee3594b2
    • Ramil Kalimullin's avatar
      Fix for bug#37527: mysqlcheck fails to report entire database · e0d5a6c1
      Ramil Kalimullin authored
      when InnoDB frm file corruption
      
      Problem: mysqlcheck runs 'SHOW FULL TABLE' queries to get table lists.
      The query may fail for some reasons (e.g. null .frm file) then
      mysqlcheck doesn't process the database tables.
      
      Fix: try to run 'SHOW TABLES' if 'SHOW FULL TABLES' failed.
      e0d5a6c1
  4. 13 Nov, 2008 2 commits
  5. 10 Nov, 2008 1 commit
  6. 06 Nov, 2008 4 commits
  7. 03 Nov, 2008 1 commit
  8. 31 Oct, 2008 1 commit
  9. 27 Oct, 2008 1 commit
  10. 26 Oct, 2008 2 commits
  11. 24 Oct, 2008 3 commits
  12. 23 Oct, 2008 4 commits
  13. 21 Oct, 2008 4 commits
    • Davi Arnaut's avatar
      e139d9c7
    • Davi Arnaut's avatar
      Bug#28323: Server crashed in xid cache operations · b0d673fc
      Davi Arnaut authored
      The problem was that the server did not robustly handle a
      unilateral roll back issued by the Resource Manager (RM)
      due to a resource deadlock within the transaction branch.
      By not acknowledging the roll back, the server (TM) would
      eventually corrupt the XA transaction state and crash.
      
      The solution is to mark the transaction as rollback-only
      if the RM indicates that it rolled back its branch of the
      transaction.
      b0d673fc
    • Davi Arnaut's avatar
      Bug#28323: Server crashed in xid cache operations · ca53651d
      Davi Arnaut authored
      The problem was that the server did not robustly handle a
      unilateral roll back issued by the Resource Manager (RM)
      due to a resource deadlock within the transaction branch.
      By not acknowledging the roll back, the server (TM) would
      eventually corrupt the XA transaction state and crash.
      
      The solution is to mark the transaction as rollback-only
      if the RM indicates that it rolled back its branch of the
      transaction.
      ca53651d
    • timothy.smith@sun.com's avatar
      Merge from mysql-5.0.70-release · bc51b15d
      timothy.smith@sun.com authored
      bc51b15d
  14. 20 Oct, 2008 2 commits
  15. 17 Oct, 2008 2 commits
    • Georgi Kodinov's avatar
      Bug #33811: Call to stored procedure with SELECT * / RIGHT JOIN · a0e3001c
      Georgi Kodinov authored
      fails after the first time
        
      Two separate problems : 
        1. When flattening joins the linked list used for name resolution 
        (next_name_resolution_table) was not updated.
        Fixed by updating the pointers when extending the table list
        
        2. The items created by expanding a * (star) as a column reference
        were marked as fixed, but no cached table was assigned to them 
        (unlike what Item_field::fix_fields does).
        Fixed by assigning a cached table (so the re-preparation is done
        faster).
        
      Note that the fix for #2 hides the fix for #1 in most cases
      (except when a table reference cannot be cached).
      a0e3001c
    • Georgi Kodinov's avatar
      merged 5.0-bugteam -> bug 39958 · 3345b64f
      Georgi Kodinov authored
      3345b64f
  16. 16 Oct, 2008 2 commits
    • Gleb Shchepa's avatar
      Bug #39844: Query Crash Mysql Server 5.0.67 · c411a11e
      Gleb Shchepa authored
      Server crashed during a sort order optimization
      of a dependent subquery:
      
      SELECT
          (SELECT t1.a FROM t1, t2
            WHERE t1.a = t2.b AND t2.a = t3.c
            ORDER BY t1.a)
        FROM t3;
      
      
      Bitmap of tables, that the reference to outer table
      column uses, in addition to the regular table bit
      has the OUTER_REF_TABLE_BIT bit set.
      The only_eq_ref_tables function traverses this map
      bit by bit simultaneously with join->map2table list.
      Obviously join->map2table never contains an entry
      for the OUTER_REF_TABLE_BIT pseudo-table, so the
      server crashed there.
      
      
      The only_eq_ref_tables function has been modified
      to traverse regular table bits only like the
      update_depend_map function (resetting of the
      OUTER_REF_TABLE_BIT there is enough, but
      resetting of the whole set of PSEUDO_TABLE_BITS
      is used there for sure).
      c411a11e
    • Georgi Kodinov's avatar
      Bug #39958: Test "windows" lacks a cleanup · adfa153b
      Georgi Kodinov authored
      Added the missing DROP TABLE
      adfa153b
  17. 15 Oct, 2008 3 commits
    • Davi Arnaut's avatar
      Bug#37075: offset of limit clause might be truncated on 32-bits server w/o big tables · 4ab10baa
      Davi Arnaut authored
      The problem is that the offset argument of the limit clause
      might be truncated on a 32-bits server built without big
      tables support. The truncation was happening because the
      original 64-bits long argument was being cast to a 32-bits
      (ha_rows) offset counter.
      
      The solution is to check if the conversing resulted in value
      truncation and if so, the offset is set to the maximum possible
      value that can fit on the type.
      4ab10baa
    • Georgi Kodinov's avatar
      Bug #38693: leaked memory with blobs! · b204dc43
      Georgi Kodinov authored
      If delayed insert fails to upgrade the lock it was not
      freeing the temporary memory storage used to keep
      newly constructed blob values in memory.
      Fixed by iterating over the remaining rows in the delayed
      insert rowset and freeing the blob storage for each row.
      
      No test suite because it involves concurrent delayed inserts 
      on a table and cannot easily be made deterministic. 
      
      Added a correct valgrind suppression for Fedora 9.
      b204dc43
    • Kristofer Pettersson's avatar
      automerge · 2c576fa9
      Kristofer Pettersson authored
      2c576fa9
  18. 14 Oct, 2008 1 commit
    • Davi Arnaut's avatar
      Bug#38823: Invalid memory access when a SP statement does wildcard expansion · d4c75b7d
      Davi Arnaut authored
      The problem is that field names constructed due to wild-card
      expansion done inside a stored procedure could point to freed
      memory if the expansion was performed after the first call to
      the stored procedure.
      
      The problem was solved by patch for Bug#38691. The solution
      was to allocate the database, table and field names in the
      in the statement memory instead of table memory.
      d4c75b7d
  19. 13 Oct, 2008 1 commit
  20. 10 Oct, 2008 1 commit
    • Joerg Bruehe's avatar
      Merge from main 5.0 branch -> 5.0-build · 194d6875
      Joerg Bruehe authored
      Merge conflicts in test "create:
      - for "create.result", handled correctly by "bzr extmerge" (using "kdiff3"),
      - for "create.test", not reported as a conflict, but merged wrong
        (new block at the test end got duplicated), fixed manually.
      
      Test on Linux (Debian, PowerPC) was ok.
      194d6875