1. 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
  2. 10 Jul, 2009 14 commits
  3. 08 Jul, 2009 4 commits
    • 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
    • Georgi Kodinov's avatar
      automerge · 88430260
      Georgi Kodinov authored
      88430260
    • Georgi Kodinov's avatar
      Addendum to the fix for bug 45807 : initialize a member needed in · ead1ce94
      Georgi Kodinov authored
      Item_field::fix_fields()
      ead1ce94
    • Georgi Kodinov's avatar
  4. 07 Jul, 2009 10 commits
  5. 09 Jul, 2009 4 commits
  6. 08 Jul, 2009 3 commits
    • Davi Arnaut's avatar
      Fix warnings generated by SunStudio and GCC. · a56ab623
      Davi Arnaut authored
      Based upon patch contributed by Stewart Smith
      
      mysql-test/lib/My/SafeProcess/safe_process.cc:
        Fix style -- remove unneeded spaces.
        Specify C linkage for the signal handling functions.
        Check return value from read()/write().
      a56ab623
    • Satya B's avatar
      Bug#35111 - Truncate a MyISAM partitioned table does not reset · 02e70f16
      Satya B authored
      the auto_increment value
            
      This is an alternative patch that instead of allowing RECREATE TABLE
      on TRUNCATE TABLE it implements reset_auto_increment that is called
      after delete_all_rows.
      
      Note: this bug was fixed by Mattias Jonsson:
      Pusing this patch: http://lists.mysql.com/commits/70370
      
      
      mysql-test/suite/parts/r/partition_auto_increment_memory.result:
        Bug#35111: Truncate a MyISAM partitioned table does not reset
        the auto_increment value
      mysql-test/suite/parts/r/partition_auto_increment_myisam.result:
        Bug#35111: Truncate a MyISAM partitioned table does not reset
        the auto_increment value
      sql/ha_partition.cc:
        Bug#35111: Truncate a MyISAM partitioned table does not reset
        the auto_increment value
        
        Added reset_auto_increment, to be used after delete_all_rows
        to simulate truncate.
      storage/heap/ha_heap.cc:
        Bug#35111: Truncate a MyISAM partitioned table does not reset
        the auto_increment value
        
        Added reset_auto_increment, to be used after delete_all_rows
        to simulate truncate
      storage/heap/ha_heap.h:
        Bug#35111: Truncate a MyISAM partitioned table does not reset
        the auto_increment value
        
        Added reset_auto_increment, to be used after delete_all_rows
        to simulate truncate
      storage/myisam/ha_myisam.cc:
        Bug#35111: Truncate a MyISAM partitioned table does not reset
        the auto_increment value
        
        Added reset_auto_increment, to be used after delete_all_rows
        to simulate truncate.
      storage/myisam/ha_myisam.h:
        Bug#35111: Truncate a MyISAM partitioned table does not reset
        the auto_increment value
        
        Added reset_auto_increment, to be used after delete_all_rows
        to simulate truncate.
      02e70f16
    • V Narayanan's avatar
      Bug#45983 ibmdb2i_create_index_option=1 not working for primary key · 2e8eb6ce
      V Narayanan authored
      With ibmdb2i_create_index_option set to 1, creating an IBMDB2I table
      with a primary key should produce an additional index that uses EBCDIC
      hexadecimal sorting. However, this does not work. Adding indexes that
      are not primary keys does work. The ibmdb2i_create_index_option should
      be honoured when creating a table with a primary key.
      
      This patch adds code to the create() function to check for the value
      of the ibmdb2i_create_index_option variable and, when appropriate, to 
      generate a *HEX-based shadow index in DB2 for the primary key. Previously 
      this behavior was limited to secondary indexes.
      
      Additionally, this patch restricts the creation of shadow indexes to
      cases in which a non-*HEX sort sequence is used, as the documentation
      for ibmdb2i_create_index_option describes. Previously, the shadow index
      would in some cases be created even when the MySQL-specific index used
      *HEX sorting, leading to redundant indexes.
      
      Finally, the code used to generate the list of fields for indexes 
      and the code used to generate the SQL statement for the shadow
      indexes has been refactored into individual functions.
      
      mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_45983.result:
        Bug#45983 ibmdb2i_create_index_option=1 not working for primary key
        
        Result file for the test case.
      mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_45983.test:
        Bug#45983 ibmdb2i_create_index_option=1 not working for primary key
        
        Add tests to verify that the ibmdb2i_create_index_option is being honoured
        when creating a table with a primary key.
      storage/ibmdb2i/ha_ibmdb2i.cc:
        Bug#45983 ibmdb2i_create_index_option=1 not working for primary key
        
        - Add code to the create() function to check for the value of the
          ibmdb2i_create_index_option variable and, when appropriate, to 
          generate a *HEX-based shadow index in DB2 for the primary key.
        
        - Restrict the creation of shadow indexes to cases in which a
          non-*HEX sort sequence is used.
        
        - Refractor code used to generate the list of fields for indexes
          and the code used to generate the SQL statement for the shadow
          indexes into individual functions.
      storage/ibmdb2i/ha_ibmdb2i.h:
        Bug#45983 ibmdb2i_create_index_option=1 not working for primary key
        
        Add function prototypes for the functions that.
        
        - Generate the list of fields for indexes
        - Generate the SQL statement for the shadow
          indexes
      2e8eb6ce
  7. 07 Jul, 2009 3 commits
  8. 06 Jul, 2009 1 commit
    • Patrick Crews's avatar
      Bug#44920: MTR2 is not processing master.opt input properly on Windows. · 869e6bd1
      Patrick Crews authored
      Had attempted to disable this test on Windows only, but the nature of this bug
      does not allow for this.  The master.opt file is processed before anything in 
      in the actual test.  As a result, we must use disabled.def files to ensure
      these tests are skipped on the problematic platforms.
      
      Removed Windows-only code and updated the proper disabled.def files accordingly.
      869e6bd1