1. 15 Jul, 2009 6 commits
    • Davi Arnaut's avatar
      Bug#44495: Prepared Statement: CALL p(<x>) - `thd->protocol == &thd->protocol_text' failed · 5f9440d2
      Davi Arnaut authored
      Merge Konstantin's patch and add a test case.
      
      tests/mysql_client_test.c:
        Add test case for Bug#44495
      5f9440d2
    • Konstantin Osipov's avatar
      A fix for Bug#44495 "Prepared Statement: CALL p(<x>) - `thd->protocol == &thd->protocol_text' · c6b8dced
      Konstantin Osipov authored
      failed"
      
      Do not assume that SQL prepared statements always run in text protocol.
      When invoked from a stored procedure, which is itself invoked
      by means of prepared CALL statement, the protocol may be binary.
      Juggle with the protocol only when we want to change it
      to binary in COM_STMT_EXECUTE, COM_STMT_PREPARE.
      
      This is a backport from 5.4/6.0, where the bug was fixed
      as part of WL#4264 "Backup: Stabilize Service Interface" 
      c6b8dced
    • Ramil Kalimullin's avatar
      422696d6
    • Anurag Shekhar's avatar
      merging with 5.0 bugteam tree · 0ad57bef
      Anurag Shekhar authored
      0ad57bef
    • Anurag Shekhar's avatar
      Bug#37740 Server crashes on execute statement with full text search and · c77b836a
      Anurag Shekhar authored
                match against.
      
      
      Server crashes when executing prepared statement with duplicating
      MATCH() function calls in SELECT and ORDER BY expressions, e.g.:
      SELECT MATCH(a) AGAINST('test') FROM t1 ORDER BY MATCH(a) AGAINST('test')
      
      This query gets optimized by the server, so the value returned
      by MATCH() from the SELECT list is reused for ORDER BY purposes.
      To make this optimization server is comparing items from
      SELECT and ORDER BY lists. We were getting server crash because
      comparision function for MATCH() item is not intended to be called
      at this point of execution.
      
      In 5.0 and 5.1 this problem is workarounded by resetting MATCH()
      item to the state as it was during PREPARE.
      
      In 6.0 correct comparision function will be implemented and
      duplicating MATCH() items from the ORDER BY list will be
      optimized.
      
      mysql-test/r/fulltext.result:
        Updated with the test case for Bug#37740
      mysql-test/t/fulltext.test:
        A test case for Bug#37740.
      sql/item_func.h:
        True initialization of 'table' happens in ::fix_fields(). As
        Item_func_match::eq() may be called before ::fix_fields(), it is
        expected that 'table' is initialized to 0 when it is reused.
        
        This is mostly affecting prepared statements, when the same item
        doesn't get destroyed, but rather cleaned up and reused.
      c77b836a
    • Ramil Kalimullin's avatar
      Auto-merge · ada6ad45
      Ramil Kalimullin authored
      ada6ad45
  2. 14 Jul, 2009 6 commits
  3. 13 Jul, 2009 9 commits
  4. 12 Jul, 2009 1 commit
  5. 11 Jul, 2009 1 commit
    • Gleb Shchepa's avatar
      Bug #41156: List of derived tables acts like a chain of · 8b278847
      Gleb Shchepa authored
                  mutually-nested subqueries
      
      Queries of the form
      
        SELECT * FROM (SELECT 1) AS t1,
                      (SELECT 2) AS t2,...
                      (SELECT 32) AS t32
      
      caused the "Too high level of nesting for select" error
      as if the query has a form
      
        SELECT * FROM (SELECT 1 FROM (SELECT 2 FROM (SELECT 3 FROM...
      
      
      The table_factor parser rule has been modified to adjust
      the LEX::nest_level variable value after every derived table.
      
      
      mysql-test/r/derived.result:
        Added test case for bug #41156.
      mysql-test/t/derived.test:
        Added test case for bug #41156.
      sql/sql_yacc.yy:
        Bug #41156: List of derived tables acts like a chain of
                    mutually-nested subqueries
        
        The select_derived2 parser rule calls mysql_new_select()
        calls push_context() and nest_level++, however only
        the pop_context() was called at the end of derived table
        parsing at the table_factor rule.
        
        The table_factor parser rule has been modified to adjust
        the LEX::nest_level variable value after every derived table.
      8b278847
  6. 10 Jul, 2009 16 commits
    • MySQL Build Team's avatar
      0d8816c6
    • Staale Smedseng's avatar
      Merge from 5.1-bugteam · 03793f4c
      Staale Smedseng authored
      03793f4c
    • Georgi Kodinov's avatar
      automerge · 9752d4c8
      Georgi Kodinov authored
      9752d4c8
    • Georgi Kodinov's avatar
      automerge · e5ecb481
      Georgi Kodinov authored
      e5ecb481
    • Georgi Kodinov's avatar
      924c8c5b
    • Georgi Kodinov's avatar
      merge 5.1-main -> 5.1 · 7c510559
      Georgi Kodinov authored
      7c510559
    • Georgi Kodinov's avatar
      merged 5.0-bugteam->5.1-bugteam · 2b4ec292
      Georgi Kodinov authored
      2b4ec292
    • Georgi Kodinov's avatar
      fixed the CPU checking code. · 55f514ad
      Georgi Kodinov authored
      55f514ad
    • Georgi Kodinov's avatar
      merge 5.0-main -> 5.0-bugteam · af7d0595
      Georgi Kodinov authored
      af7d0595
    • Davi Arnaut's avatar
      Bug#21704: Renaming column does not update FK definition · 3e642d15
      Davi Arnaut authored
      Remove commented-out test case. It has been moved to innodb_bug21704.test
      3e642d15
    • Georgi Kodinov's avatar
      Bug #46080: group_concat(... order by) crashes server when · 5beae1f8
      Georgi Kodinov authored
        sort_buffer_size cannot allocate
      
      The NULL return from tree_insert() (on low memory) was not
      checked for in Item_func_group_concat::add(). As a result
      on low memory conditions a crash happens.
      
      Fixed by properly checking the return code.
      5beae1f8
    • Satya B's avatar
      Applying InnoDB snapshot 5.1-ss5488,part 4. Fixes BUG#21704 · 526a42e2
      Satya B authored
      1. BUG#21704 - Renaming column does not update FK definition
      
      2. Changes in mysql-test/include/mtr_warnings.sql so that the testcase
         for BUG#21704 doesn't fail because of the warnings generated.
      
      Detailed revision comments:
      
      r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines
      branches/5.1:
      
      Fix Bug#21704 Renaming column does not update FK definition
      
      by checking whether a column that participates in a FK definition is being
      renamed and denying the ALTER in this case.
      
      The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>:
      http://lists.mysql.com/commits/77714
      and was later adjusted to conform to InnoDB coding style by me (Vasil),
      I also added some more comments and moved the bug specific mysql-test to
      a separate file to make it more manageable and flexible.
      
      526a42e2
    • Alexey Kopytov's avatar
      Bug #45796: invalid memory reads and writes when altering merge · 2b26729e
      Alexey Kopytov authored
                  and base tables 
      
      myrg_attach_children() could reuse a buffer that was allocated 
      previously based on a definition of a child table. The problem 
      was that the child's definition might have been changed, so 
      reusing the buffer could lead to crashes or valgrind errors 
      under some circumstances. 
       
      Fixed by changing myrg_attach_children() so that the 
      rec_per_key_part buffer is reused only when the child table
      have not changed, and reallocated otherwise (the old buffer is 
      deallocated if necessary).
      
      
      include/myisammrg.h:
        Added a pointer to need_compat_check as an argument to
        myrg_attach_children().
      mysql-test/r/merge.result:
        Added a test case for bug #45796.
      mysql-test/t/merge.test:
        Added a test case for bug #45796.
      storage/myisammrg/ha_myisammrg.cc:
        Pass a pointer to need_compat_check to myrg_attach_children().
      storage/myisammrg/myrg_open.c:
        Changed myrg_attach_children() so that the 
        rec_per_key_part buffer is reused only when the child table
        have not changed, and reallocated otherwise (the old buffer 
        is deallocated if necessary).
      2b26729e
    • Satya B's avatar
      Applying InnoDB snapshot 5.1-ss5488 part3,Fixes BUG#45814 · 38d9fa89
      Satya B authored
      Detailed revision comments:
      
      r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines
      branches/5.1:
      
      Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation
      
      by changing the URL from
      http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to
      http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html
      
      38d9fa89
    • Satya B's avatar
      Applying InnoDB snapshot 5.1-ss5488,part 2. Fixes BUG#45749 · c64b76ed
      Satya B authored
      BUG#45749 - Race condition in SET GLOBAL innodb_commit_concurrency=DEFAULT
      
      Detailed revision comments:
      
      r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines
      branches/5.1: Merge r5418 from branches/zip:
      
        ------------------------------------------------------------------------
        r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines
        Changed paths:
           M /branches/zip/ChangeLog
           M /branches/zip/handler/ha_innodb.cc
           M /branches/zip/mysql-test/innodb_bug42101-nonzero.result
           M /branches/zip/mysql-test/innodb_bug42101-nonzero.test
           M /branches/zip/mysql-test/innodb_bug42101.result
           M /branches/zip/mysql-test/innodb_bug42101.test
        
        branches/zip: Fix a race condition caused by
        SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug #45749)
        When innodb_commit_concurrency is initially set nonzero,
        DEFAULT would change it back to 0, triggering Bug #42101.
        rb://139 approved by Heikki Tuuri.
        ------------------------------------------------------------------------
      c64b76ed
    • Satya B's avatar
      Applying InnoDB snashot 5.1-ss5488, part 1 · bb4778b5
      Satya B authored
      1. Fixes build warnings caused by applying snapshot 5.1-ss5282
      
      2. Fix the Makefile.am in storage/innobase to remove the header file
         'fsp0types.h' which was added twice to fix build warning generated 
         after applying the 5.1-ss5282 snapshot
      
      Detailed revision comments:
      
      r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines
      branches/5.1: Add missing #include "mtr0log.h" to avoid warnings
      when compiling with -DUNIV_MUST_NOT_INLINE.
      bb4778b5
  7. 08 Jul, 2009 1 commit
    • Staale Smedseng's avatar
      Bug #43397 mysql headers redefine pthread_mutex_init · ab2f3dd2
      Staale Smedseng authored
      unnecessarily
            
      The problem is that libmysqlclient.so is built with THREAD
      undefined, while a client compiling against the same header
      files will see THREAD as defined and definitions in
      my_pthread.h will be included, possibly resulting in undefined
      symbols that cannot be resolved with libmysqlclient.so.
            
      The suggested solution is to require that clients wanting to
      link with libmysqlclient.so should be built with
      MYSQL_CLIENT_NO_THREADS defined. This requires a documentation
      change, and more details for this will be supplied if this
      patch is approved.
            
      The MYSQL_CLIENT_NO_THREADS define was renamed from
      UNDEF_THREADS_HACK, to get a more suitable (less suspicious)
      name for the define. (The UNDEF_THREADS_HACK is retained for
      backwards compatibility, though.)
            
      This patch is also in anticipation of WL#4958, which will
      remove this problem altogether by dropping the building of
      libmysqlclient.
      ab2f3dd2