1. 12 Mar, 2010 1 commit
    • Sergey Glukhov's avatar
      Bug#41788 mysql_fetch_field returns org_table == table by a view · b8132a8d
      Sergey Glukhov authored
      The problem is that Item_direct_view_ref which is inherited
      from Item_ident updates orig_table_name and table_name with
      the same values. The fix is introduction of new constructor
      into Item_ident and up which updates orig_table_name and
      table_name separately.
      
      
      mysql-test/r/metadata.result:
        test case
      mysql-test/t/metadata.test:
        test case
      sql/item.cc:
        new constructor which updates
        orig_table_name and table_name
        separately.
      sql/item.h:
        new constructor which updates
        orig_table_name and table_name
        separately.
      sql/table.cc:
        used new constructor
      b8132a8d
  2. 11 Mar, 2010 3 commits
  3. 10 Mar, 2010 10 commits
  4. 09 Mar, 2010 1 commit
    • Georgi Kodinov's avatar
      Bug #35250: readline check breaks when doing vpath build · d63b0a5c
      Georgi Kodinov authored
      MySQL uses two source layouts when building : the bzr 
      layout and the source package layout.
      The previous fix for bug 35250 contained 1 change that is
      valid for both modes and a number of changes that are valid
      only for the bzr source layout.
      The important thing was to fix the source package layout.
      And for this the change in configure.in was sufficient.
      It's not trivial (and not requested by this bug) to support 
      VPATH builds from the bzr trees.
      This is why the other changes are reverted and the change to
      fix the VPATH build for source distributions is left intact.
      d63b0a5c
  5. 10 Mar, 2010 1 commit
  6. 09 Mar, 2010 5 commits
  7. 08 Mar, 2010 3 commits
  8. 09 Mar, 2010 3 commits
    • Davi Arnaut's avatar
      Bug#40277: SHOW CREATE VIEW returns invalid SQL · f502deac
      Davi Arnaut authored
      The problem is that not all column names retrieved from a SELECT
      statement can be used as view column names due to length and format
      restrictions. The server failed to properly check the conformity
      of those automatically generated column names before storing the
      final view definition on disk.
      
      Since columns retrieved from a SELECT statement can be anything
      ranging from functions to constants values of any format and length,
      the solution is to rewrite to a pre-defined format any names that
      are not acceptable as a view column name.
      
      The name is rewritten to "Name_exp_%u" where %u translates to the
      position of the column. To avoid this conversion scheme, define
      explict names for the view columns via the column_list clause.
      Also, aliases are now only generated for top level statements.
      
      mysql-test/include/view_alias.inc:
        Add test case for Bug#40277
      mysql-test/r/compare.result:
        Bug#40277: SHOW CREATE VIEW returns invalid SQL
      mysql-test/r/group_by.result:
        Bug#40277: SHOW CREATE VIEW returns invalid SQL
      mysql-test/r/ps.result:
        Bug#40277: SHOW CREATE VIEW returns invalid SQL
      mysql-test/r/subselect.result:
        Bug#40277: SHOW CREATE VIEW returns invalid SQL
      mysql-test/r/subselect3.result:
        Bug#40277: SHOW CREATE VIEW returns invalid SQL
      mysql-test/r/type_datetime.result:
        Bug#40277: SHOW CREATE VIEW returns invalid SQL
      mysql-test/r/union.result:
        Bug#40277: SHOW CREATE VIEW returns invalid SQL
      mysql-test/r/view.result:
        Add test case result for Bug#40277
      mysql-test/r/view_alias.result:
        Add test case result for Bug#40277
      mysql-test/t/view_alias.test:
        Add test case for Bug#40277
      sql/sql_view.cc:
        Check if auto generated column names are conforming. Also, the
        make_unique_view_field_name function is not used as it uses the
        original name to construct a new one, which does not work if the
        name is invalid.
      f502deac
    • Davi Arnaut's avatar
      Bug#51650: crash with user variables and triggers · 02ac873c
      Davi Arnaut authored
      The problem was that bits of the destructive equality propagation
      optimization weren't being undone after the execution of a stored
      program. Modifications to the parse tree that are based on transient
      properties must be undone to enable the re-execution of stored
      programs.
      
      The solution is to cleanup any references to predicates generated
      by the equality propagation during the execution of a stored program.
      
      mysql-test/r/trigger.result:
        Add test case result for Bug#51650.
      mysql-test/t/trigger.test:
        Add test case for Bug#51650.
      sql/item.cc:
        Remove reference to a equality predicate.
      02ac873c
    • Georgi Kodinov's avatar
  9. 08 Mar, 2010 2 commits
    • Georgi Kodinov's avatar
      null merge · 25a9f5e0
      Georgi Kodinov authored
      25a9f5e0
    • Georgi Kodinov's avatar
      Backport of the fix for bug #51357 to 5.0-bugteam.: · 2ba46ad4
      Georgi Kodinov authored
      Spatial indexes were not checking for out-of-record condition in
      the handler next command when the previous command didn't found
      rows.
      
      Fixed by making the rtree index to check for end of rows condition
      before re-using the key from the previous search.
      
      Fixed another crash if the tree has changed since the last search.
      Added a test case for the other error.
      2ba46ad4
  10. 04 Mar, 2010 1 commit
    • Georgi Kodinov's avatar
      Bug #51357: crash when using handler commands on spatial indexes · d934426f
      Georgi Kodinov authored
      Spatial indexes were not checking for out-of-record condition in
      the handler next command when the previous command didn't found
      rows.
      
      Fixed by making the rtree index to check for end of rows condition
      before re-using the key from the previous search.
      
      Fixed another crash if the tree has changed since the last search.
      Added a test case for the other error.
      d934426f
  11. 05 Mar, 2010 4 commits
    • Gleb Shchepa's avatar
      Bug #39653: find_shortest_key in sql_select.cc does not · 63a88e13
      Gleb Shchepa authored
                  consider clustered primary keys
      
      Choosing a shortest index for the covering index scan,
      the optimizer ignored the fact, that the clustered primary
      key read involves whole table data.
      
      The find_shortest_key function has been modified to
      take into account that fact that a clustered PK has a
      longest key of possible covering indices.
      
      
      mysql-test/r/innodb_mysql.result:
        Test case for bug #39653.
      mysql-test/t/innodb_mysql.test:
        Test case for bug #39653.
      sql/sql_select.cc:
        Bug #39653: find_shortest_key in sql_select.cc does not
                    consider clustered primary keys
        
        The find_shortest_key function has been modified to
        take into account that fact that a clustered PK has a
        longest key of possible covering indices.
      63a88e13
    • Tatiana A. Nurnberg's avatar
      auto-merge · fbad82de
      Tatiana A. Nurnberg authored
      fbad82de
    • Tatiana A. Nurnberg's avatar
      manual merge · 823661bd
      Tatiana A. Nurnberg authored
      823661bd
    • Ramil Kalimullin's avatar
      Fix for bug#32426: "FEDERATED query returns corrupt results · 2eb9d388
      Ramil Kalimullin authored
       for ORDER BY on a TEXT or VARCHAR field" backported to 5.1.
      2eb9d388
  12. 04 Mar, 2010 4 commits
  13. 03 Mar, 2010 2 commits
    • Luis Soares's avatar
      BUG#51226: mysqlbinlog replay: ERROR 1146 when using temp tables · d13db314
      Luis Soares authored
                 + failing statements
      
      Implicit DROP event for temporary table is not getting
      LOG_EVENT_THREAD_SPECIFIC_F flag, because, in the previous
      executed statement in the same thread, which might even be a
      failed statement, the thread_specific_used flag is set to
      FALSE (in mysql_reset_thd_for_next_command) and not set to TRUE
      before connection is shutdown. This means that implicit DROP
      event will take the FALSE value from thread_specific_used and
      will not set LOG_EVENT_THREAD_SPECIFIC_F in the event header. As
      a consequence, mysqlbinlog will not print the pseudo_thread_id
      from the DROP event, because one of the requirements for the
      printout is that this flag is set to TRUE.
      
      We fix this by setting thread_specific_used whenever we are
      binlogging a DROP in close_temporary_tables, and resetting it to
      its previous value afterward.
      d13db314
    • Sergey Vojtovich's avatar
      BUG#48265 - MRG_MYISAM problem (works in 5.0.85, does't · 1d2aeb3d
      Sergey Vojtovich authored
                  work in 5.1.40)
      
      MERGE engine fails to open child table from a different
      database if child table/database name contains characters
      that are subject for table name to filename encoding
      (WL1324).
      
      Another problem is that MERGE engine didn't properly open
      child table from the same database if child table name
      contains characters like '/', '#'.
      
      The problem was that table name to file name encoding was
      applied inconsistently:
      * On CREATE: encode table name + database name if child
        table is in different database; do not encode table
        name if child table is in the same database;
      * No decoding on open.
      
      With this fix child table/database names are always
      encoded on CREATE and decoded on open. Compatibility
      with older tables preserved.
      
      Along with this patch comes fix for SHOW CREATE TABLE,
      which used to show child table/database path instead
      of child table/database names.
      
      mysql-test/r/merge.result:
        A test case for BUG#48265.
      mysql-test/std_data/bug48265.frm:
        MERGE table from 5.0 to test fix for BUG#48265 compatibility.
      mysql-test/t/merge.test:
        A test case for BUG#48265.
      storage/myisammrg/ha_myisammrg.cc:
        On CREATE always write child table/database name encoded
        by table name to filename encoding to dot-MRG file.
        
        On open decode child table/database name.
        Compatibilty with previous versions preserved.
        
        Fixed ::append_create_info() to return child
        table/database name instead of path.
      storage/myisammrg/myrg_open.c:
        Move if (has_path) branch from myrg_parent_open() to
        myisammrg_parent_open_callback. The callback function
        needs to know if child table was written along with
        database name to dot-MRG file. Needed for compatibility
        reasons.
      1d2aeb3d