1. 14 Mar, 2008 6 commits
    • unknown's avatar
      Merge acurtis@bk-internal.mysql.com:/home/bk/mysql-5.0-engines · eda0b52c
      unknown authored
      into  pcg5ppc.xiphis.org:/Network/Servers/anubis.xiphis.org/home/antony/work/merge.20080307/mysql-5.0
      
      
      sql/sql_yacc.yy:
        Auto merged
      eda0b52c
    • unknown's avatar
      Merge pcg5ppc.xiphis.org:/Network/Servers/anubis.xiphis.org/home/antony/work/mysql-5.0-engines · 3834f421
      unknown authored
      into  pcg5ppc.xiphis.org:/Network/Servers/anubis.xiphis.org/home/antony/work/merge.20080307/mysql-5.0
      
      
      3834f421
    • unknown's avatar
      Merge pcg5ppc.xiphis.org:/Network/Servers/anubis.xiphis.org/home/antony/work/mysql-5.0 · b09254f0
      unknown authored
      into  pcg5ppc.xiphis.org:/Network/Servers/anubis.xiphis.org/home/antony/work/merge.20080307/mysql-5.0
      
      
      mysql-test/r/func_misc.result:
        Auto merged
      mysql-test/r/myisam.result:
        Auto merged
      mysql-test/t/func_misc.test:
        Auto merged
      sql/item.cc:
        Auto merged
      sql/item_func.cc:
        Auto merged
      b09254f0
    • unknown's avatar
      Merge mysql.com:/home/svoj/devel/bk/mysql-5.0-engines · 7e01efff
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/BUG28248/mysql-5.0-engines
      
      
      7e01efff
    • unknown's avatar
      BUG#28248 - mysqldump results with MERGE ... UNION=() cannot be executed · 196b616a
      unknown authored
      When there are no underlying tables specified for a merge table,
      SHOW CREATE TABLE outputs a statement that cannot be executed. The
      same is true for mysqldump (it generates dumps that cannot be
      executed).
      
      This happens because SQL parser does not accept empty UNION() clause.
      
      This patch changes the following:
      - it is now possible to execute CREATE/ALTER statement with
        empty UNION() clause.
      - the same as above, but still worth noting: it is now possible to
        remove underlying tables mapping using ALTER TABLE ... UNION=().
      - SHOW CREATE TABLE does not output UNION() clause if there are
        no underlying tables specified for a merge table. This makes
        mysqldump slightly smaller.
      
      
      mysql-test/r/merge.result:
        A test case for BUG#28248.
      mysql-test/t/merge.test:
        A test case for BUG#28248.
      sql/ha_myisammrg.cc:
        Do not output UNION clause in SHOW CREATE TABLE, when there are
        no underlying tables defined.
      sql/sql_yacc.yy:
        Make underlying table list for MERGE engine optional.
        
        As for MERGE engine empty underlying tables list is valid, it should
        be valid for the parser as well.
        
        This change is mostly needed to restore dumps made by earlier MySQL
        versions. Also with this fix it is possible to remove underlying
        tables mapping by using ALTER TABLE ... UNION=().
      196b616a
    • unknown's avatar
      BUG#13861 - START SLAVE UNTIL may stop 1 evnt too late if · 3ec86767
      unknown authored
                  log-slave-updates and circul repl
      
      This is a test case fix for BUG#13861.
      
      
      mysql-test/r/rpl_dual_pos_advance.result:
        Fix for a test case for BUG#13861.
      mysql-test/t/rpl_dual_pos_advance.test:
        Fix for a test case for BUG#13861.
        
        master_pos_wait() requires slave sql thread running. But it is not
        guaranteed for this test case. As we use start slave until it may
        execute all events and shutdown before master_pos_wait() is started.
        
        On the other hand it is safe just to wait for slave to stop here,
        as start slave returns _after_ sql thread is started.
      3ec86767
  2. 13 Mar, 2008 1 commit
  3. 12 Mar, 2008 4 commits
  4. 10 Mar, 2008 2 commits
  5. 08 Mar, 2008 1 commit
  6. 07 Mar, 2008 4 commits
  7. 06 Mar, 2008 3 commits
  8. 05 Mar, 2008 1 commit
    • unknown's avatar
      Fix for bug #34889: mysql_client_test::test_mysql_insert_id test fails · 0c1dd98e
      unknown authored
                          sporadically
      
      Under some circumstances, the mysql_insert_id() value after SELECT ...
      INSERT could return a wrong value. This could happen when the last
      SELECT ... INSERT did not involve an AUTO_INCREMENT column, but the
      value of mysql_insert_id() was changed by some previous statements.
      
      Fixed by checking the value of thd->insert_id_used in
      select_insert::send_eof() and returning 0 for mysql_insert_id() if it
      is not set.
      
      
      sql/sql_insert.cc:
        Do not return thd->last_insert_id unconditionally in
        select_insert::send_eof(). First check if thd->insert_id_used is
        non-zero, and return 0 otherwise.
      tests/mysql_client_test.c:
        Added a test case for bug #34889.
      0c1dd98e
  9. 04 Mar, 2008 1 commit
    • unknown's avatar
      Bug#23097 mysql can't insert korean on mysql prompt. · 8e4a3fcb
      unknown authored
      Problem: libedit is a very pure-ASCII oriented library,
      and it is not aware of extended (0x80..0xFF) or even multi-byte
      characters. It considered such characters as non-printable
      and didn't allow to input them.
      Fix: make libedit think that all bytes >= 0x80 are printable.
      
      
      cmd-line-utils/libedit/el.h:
        Defining macro, a locale's isprint() replacement.
        We'll consider all 8bit values as printable characters.
      cmd-line-utils/libedit/key.c:
        Changing isprint() to el_isprint().
      cmd-line-utils/libedit/map.c:
        Changing isprint() to el_isprint().
      cmd-line-utils/libedit/read.c:
        Changing isprint() to el_isprint().
      cmd-line-utils/libedit/refresh.c:
        Changing isprint() to el_isprint().
      8e4a3fcb
  10. 03 Mar, 2008 5 commits
    • unknown's avatar
      Raise the version number after cloning 5.0.58 · 4d09306d
      unknown authored
      4d09306d
    • unknown's avatar
      BUG#34945: "ref_or_null queries that are null_rejecting and have a null value crash mysql" · cd9f2d1c
      unknown authored
      - Apply Eric Bergen's patch: in join_read_always_key(), move ha_index_init() call
        to before the late NULLs filtering code.
      - Backport function comments from 6.0.
      
      
      mysql-test/r/null_key.result:
        BUG#34945: "ref_or_null queries that are null_rejecting and have a null value crash mysql"
        - Testcase
      mysql-test/t/null_key.test:
        BUG#34945: "ref_or_null queries that are null_rejecting and have a null value crash mysql"
        - Testcase
      sql/sql_select.cc:
        BUG#34945: "ref_or_null queries that are null_rejecting and have a null value crash mysql"
        - Apply Eric Bergen's patch: in join_read_always_key(), move ha_index_init() call
          to before the late NULLs filtering code.
        - Backport function comments from 6.0
      cd9f2d1c
    • unknown's avatar
      Merge kaamos.(none):/data/src/opt/bug31781/my50 · 64bdb0bd
      unknown authored
      into  kaamos.(none):/data/src/opt/mysql-5.0-opt
      
      
      64bdb0bd
    • unknown's avatar
      Fix for bug #31781: multi-table UPDATE with temp-pool enabled fails · 162eadbe
      unknown authored
                          with errno 17
      
      my_create() did not perform any checks for the case when a file is
      successfully created by a call to open(), but the call to
      my_register_filename() later fails because the number of open files
      has exceeded the my_open_files limit. This can happen on platforms 
      which do not have getrlimit(), and hence we do not know the real limit
      for open files. In such a case an error was returned to a caller
      although the file has actually been created. Since callers assume
      my_create() to return an error only when it failed to create a file,
      they did not perform any cleanups, leaving an 'orphaned' file on the
      file system.
      
      Fixed by adding a check for the above case to my_create() and ensuring
      the newly created file is deleted before returning an error.
      
      Creating a deterministic test case in the test suite is impossible,
      because the exact steps required to reproduce the above situation
      depend on the platform and/or environment (OS per-user limits, queries
      executed by previous tests, startup parameters). The patch was
      manually tested on Windows using examples posted in the bug report.
      
      
      mysys/my_create.c:
        Ensure that, if the call to my_register_filename() in my_create()
        failed, but the previous open() called succeeded, the newly created
        file is deleted before returning an error.
      162eadbe
    • unknown's avatar
      test case fix · 2cb35cd6
      unknown authored
      2cb35cd6
  11. 01 Mar, 2008 1 commit
  12. 29 Feb, 2008 7 commits
    • unknown's avatar
      wrong merge fix · 4e7c4ab9
      unknown authored
      4e7c4ab9
    • unknown's avatar
      Merge mysql.com:/home/gluh/MySQL/Merge/4.1-opt · 4460f5a5
      unknown authored
      into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
      
      
      mysql-test/t/symlink.test:
        Auto merged
      mysql-test/r/symlink.result:
        after merge fix
      4460f5a5
    • unknown's avatar
      test fix · be59a0ea
      unknown authored
      
      mysql-test/r/symlink.result:
        result fix
      be59a0ea
    • unknown's avatar
      Fixed bug #34830: mixed table and field names in Item_ref · d276cd90
      unknown authored
                        and Item_direct_ref constructor calls.
      
      Order of ref->field_name and ref->table_name arguments
      is of Item_ref and Item_direct_ref in the fix_inner_refs
      function is inverted.
      
      
      sql/sql_select.cc:
        Fixed bug #34830: mixed table and field names in Item_ref
                          and Item_direct_ref constructor calls.
        
        Order of ref->field_name and ref->table_name arguments
        is of Item_ref and Item_direct_ref in the fix_inner_refs
        function is inverted. See definitions:
        
          Item_ref(Name_resolution_context *context_arg, Item **item,
                   const char *table_name_arg, const char *field_name_arg,
                   bool alias_name_used_arg= FALSE)
          and
        
          Item_direct_ref(Name_resolution_context *context_arg, Item **item,
                          const char *table_name_arg,
                          const char *field_name_arg,
                          bool alias_name_used_arg= FALSE)
      d276cd90
    • unknown's avatar
      after merge fix · fa9e35b4
      unknown authored
      fa9e35b4
    • unknown's avatar
      Merge mysql.com:/home/gluh/MySQL/Merge/4.1-opt · 8bdb243f
      unknown authored
      into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
      
      
      sql/mysql_priv.h:
        Auto merged
      mysql-test/r/symlink.result:
        manual merge
      mysql-test/t/symlink.test:
        manual merge
      sql/mysqld.cc:
        manual merge
      sql/sql_parse.cc:
        manual merge
      8bdb243f
    • unknown's avatar
      Bug#32167 another privilege bypass with DATA/INDEX DIRECORY(ver 4.1,5.0) · ab604259
      unknown authored
      added new function test_if_data_home_dir() which checks that
      path does not contain mysql data home directory.
      Using of mysql data home directory in
      DATA DIRECTORY & INDEX DIRECTORY is disallowed.
      
      
      mysql-test/r/symlink.result:
        test result
      mysql-test/t/symlink.test:
        test case
      sql/mysql_priv.h:
        new variable mysql_unpacked_real_data_home
      sql/mysqld.cc:
        new variable mysql_unpacked_real_data_home
      sql/sql_parse.cc:
        added new function test_if_data_home_dir() which checks that
        path does not contain mysql data home directory.
        Using of mysql data home directory in
        DATA DIRECTORY & INDEX DIRECTORY is disallowed.
      ab604259
  13. 28 Feb, 2008 4 commits
    • unknown's avatar
      Post-merge fix for Bug 33851. The initialization order of members · 8b779456
      unknown authored
      must match the order which they were declared in the class definition. 
      
      
      sql/item.cc:
        Fix initialization order, parameter was the last one declared.
      8b779456
    • unknown's avatar
      Merge host.loc:/home/uchum/work/PP/5.0-opt-34620 · 7f572871
      unknown authored
      into  host.loc:/home/uchum/work/5.0-opt
      
      
      7f572871
    • unknown's avatar
      Fixed bug #34620: item_row.cc:50: Item_row::illegal_method_call(const char*): · d40ca161
      unknown authored
                        Assertion `0' failed
      
      If ROW item is a part of an expression that also has
      aggregate function calls (COUNT/SUM/AVG...), a
      "splitting" with an Item::split_sum_func2 function
      is applied to that ROW item.
      Current implementation of Item::split_sum_func2
      replaces this Item_row with a newly created
      Item_aggregate_ref reference to it.
      Then the row cache tries to work with the
      Item_aggregate_ref object as with the Item_row object:
      row cache calls row-emulation methods such as cols and
      element_index. Item_aggregate_ref (like it's parent
      Item_ref) inherits dummy implementations of those
      methods from the hierarchy root Item, and call to
      them leads to failed assertions and wrong data
      output.
      
      Row-emulation virtual functions (cols, element_index, addr,
      check_cols, null_inside and bring_value) of Item_ref have
      been overloaded to forward calls to an underlying item
      reference.
      
      
      
      
      mysql-test/r/row.result:
        Added test case for bug #34620.
      mysql-test/t/row.test:
        Added test case for bug #34620.
      sql/item.h:
        Fixed bug #34620.
        Row-emulation virtual functions (cols, element_index, addr,
        check_cols, null_inside and bring_value) of Item_ref have
        been overloaded to forward calls to an underlying item
        reference.
      d40ca161
    • unknown's avatar
      Bug#33851 Passing UNSIGNED param to EXECUTE returns ERROR 1210 · 1164e2bc
      unknown authored
      The problem is that passing anything other than a integer to a limit
      clause in a prepared statement would fail. This limitation was introduced
      to avoid replication problems (e.g: replicating the statement with a
      string argument would cause a parse failure in the slave).
      
      The solution is to convert arguments to the limit clause to a integer
      value and use this converted value when persisting the query to the log.
      
      
      mysql-test/r/limit.result:
        Update test case result.
      mysql-test/r/ps.result:
        Add test case result for Bug#33851
      mysql-test/r/rpl_user_variables.result:
        Test case result for replication of prepared statement with
        limit clause.
      mysql-test/t/limit.test:
        Test parameters to limit clause.
      mysql-test/t/ps.test:
        Add test case for Bug#33851
      mysql-test/t/rpl_user_variables.test:
        Test replication of a parameter which value is converted.
      sql/item.cc:
        Convert value to integer if it's a parameter to a limit clause.
      sql/item.h:
        Flag signal that item is a parameter to a limit clause.
      sql/item_func.cc:
        Const member functions, object is not mutated.
      sql/sql_class.h:
        Const member functions, object is not mutated.
      sql/sql_yacc.yy:
        Flag that item is a parameter to a limit clause.
      1164e2bc