1. 11 Aug, 2008 6 commits
    • Mattias Jonsson's avatar
      Bug#20129: ALTER TABLE ... REPAIR PARTITION ... complains that · 07e9a6dc
      Mattias Jonsson authored
      partition is corrupt
      
      The main problem was that ALTER TABLE t ANALYZE/CHECK/OPTIMIZE/REPAIR
      PARTITION took another code path (over mysql_alter_table instead of
      mysql_admin_table) which differs in two ways:
      1) alter table opens the tables in a different way than admin tables do
         resulting in returning with error before it tried the command
      2) alter table does not start to send any diagnostic rows to the client
         which the lower admin functions continue to use -> resulting in
         assertion crash
      
      The fix:
      Remapped ALTER TABLE t ANALYZE/CHECK/OPTIMIZE/REPAIR PARTITION to use
      the same code path as ANALYZE/CHECK/OPTIMIZE/REPAIR TABLE t.
      Adding check in mysql_admin_table to setup the partition list for
      which partitions that should be used.
      
      
      Partitioned tables will still not work with
      REPAIR TABLE/PARTITION USE_FRM, since that requires moving partitions
      to tables, REPAIR TABLE t USE_FRM, and check that the data still
      fulfills the partitioning function and then move the table back to
      being a partition.
      
      NOTE: I have removed the following functions from the handler
      interface:
      analyze_partitions, check_partitions, optimize_partitions,
      repair_partitions
      Since they are not longer needed.
      THIS ALTERS THE STORAGE ENGINE API
      07e9a6dc
    • Davi Arnaut's avatar
      44a16259
    • Davi Arnaut's avatar
      bafa07b2
    • Kristofer Pettersson's avatar
      f9e90f18
    • Kristofer Pettersson's avatar
      Automerge · a3b0b7bb
      Kristofer Pettersson authored
      a3b0b7bb
    • Kristofer Pettersson's avatar
      Bug#38486 Crash when using cursor protocol · 9fc39adf
      Kristofer Pettersson authored
                  
      Server side cursors were not initialized properly and this caused a reference to
      uninitialized memory.
      9fc39adf
  2. 07 Aug, 2008 4 commits
  3. 06 Aug, 2008 5 commits
  4. 04 Aug, 2008 1 commit
  5. 01 Aug, 2008 1 commit
    • Davi Arnaut's avatar
      Bug#37003: Tests sporadically crashes with embedded server · 9f550e6f
      Davi Arnaut authored
      Post-merge fix: Alter linking order so that the thread linking
      flags appear last in the list. This needs to be done this way
      because some linkers will not search the thread archive again
      if a undefined symbol (pthread_kill in this case) appears later.
      9f550e6f
  6. 31 Jul, 2008 2 commits
  7. 30 Jul, 2008 1 commit
    • Georgi Kodinov's avatar
      Bug#37662 nested if() inside sum() is parsed in exponential time · 425abb49
      Georgi Kodinov authored
            
      min() and max() functions are implemented in MySQL as macros.
      This means that max(a,b) is expanded to: ((a) > (b) ? (a) : (b))
      Note how 'a' is quoted two times.
      Now imagine 'a' is a recursive function call that's several 10s of levels deep.
      And the recursive function does max() with a function arg as well to dive into
      recursion.
      This means that simple function call can take most of the clock time.
      Identified and fixed several such calls to max()/min() : including the IF() 
      sql function implementation.
      425abb49
  8. 29 Jul, 2008 4 commits
  9. 28 Jul, 2008 1 commit
  10. 26 Jul, 2008 1 commit
    • Igor Babaev's avatar
      Fixed bug #38191. · da156dde
      Igor Babaev authored
      Calling List<Cached_item>::delete_elements for the same list twice
      caused a crash of the server in the function JOIN::cleaunup.
      Ensured that delete_elements() in JOIN::cleanup would be called only once.
      da156dde
  11. 25 Jul, 2008 4 commits
  12. 24 Jul, 2008 5 commits
  13. 23 Jul, 2008 5 commits