1. 09 Sep, 2010 4 commits
  2. 08 Sep, 2010 2 commits
  3. 07 Sep, 2010 1 commit
    • Evgeny Potemkin's avatar
      Bug#56271: Wrong comparison result with STR_TO_DATE function · 34c510d6
      Evgeny Potemkin authored
      The Item_func_str_to_date class wasn't providing correct integer DATETIME
      representation as expected. This led to wrong comparison result and didn't
      allowed the STR_TO_DATE function to be used with indexes.
      Also, STR_TO_DATE function was inconsisted on throwing warnings/errors.
      Fixed now.
      
      val_int and result_as_longlong methods were added to the Item_func_str_to_date
      class. 
      
      mysql-test/r/func_time.result:
        Test case result adjusted after fixing bug#56271.
      mysql-test/r/parser.result:
        Test case result adjusted after fixing bug#56271.
      mysql-test/r/select.result:
        A test case result adjusted after fixing bug#56271.
      mysql-test/r/strict.result:
        Test case result adjusted after fixing bug#56271.
      mysql-test/r/type_datetime.result:
        Added a test case for the bug#56271.
      mysql-test/t/strict.test:
        Test case adjusted after fixing bug#56271.
      mysql-test/t/type_datetime.test:
        Added a test case for the bug#56271.
      sql/item_timefunc.cc:
        Bug#56271: Wrong comparison result with STR_TO_DATE function
        val_int and result_as_longlong methods were added to the Item_func_str_to_date
        class. 
        Item_func_str_to_date::get_date now throws the ER_WRONG_VALUE_FOR_TYPE warning
        on incorrect value.
      sql/item_timefunc.h:
        Bug#56271: Wrong comparison result with STR_TO_DATE function
        val_int and result_as_longlong methods were added to the Item_func_str_to_date
        class.
      34c510d6
  4. 06 Sep, 2010 1 commit
    • Mats Kindahl's avatar
      Bug #55966: "plugin" tests fail in 5.5 · 32206489
      Mats Kindahl authored
      On Solaris with version 3.4.6, the ha_example.so shared library is built
      with DTrace and the server is built without DTrace support. This occurs
      because dtrace.cmake disables DTrace support for 3.4.6, but still set
      HAVE_DTRACE, which causes probes_mysql.h to include probes_mysql_dtrace.h
      instead of probes_mysql_nodtrace.h.
      
      This patch fixes this by not setting HAVE_DTRACE on Solaris for GCC 3.4.6.
      32206489
  5. 02 Sep, 2010 3 commits
    • Vladislav Vaintroub's avatar
      Small fixes in CMake: · 1d8b4691
      Vladislav Vaintroub authored
       create data dir correctly in initial_database target on Windows
       handle case where INSTALL_MYSQLTESTDIR is empty (e.g someone does not want
       to install tests)
      1d8b4691
    • Alexey Botchkov's avatar
      Bug#53251 mysql_library_init fails on second execution with embedded library · d5330f34
      Alexey Botchkov authored
                thread-specific variables weren't set when we load error message files.
      
      per-file comments:
        libmysqld/lib_sql.cc
      Bug#53251      mysql_library_init fails on second execution with embedded library
            we need to call my_thread_init() once more. Normally it's called at the my_init()
            stage but that doesn't happen on the second my_init() call.
      
        sql/derror.cc
      Bug#53251      mysql_library_init fails on second execution with embedded library
           use default errors for the embedded server.
      
        sql/mysqld.cc
      Bug#53251      mysql_library_init fails on second execution with embedded library
              unregister server errors in clean_up(). Without it the error list contains
              that on the second mysql_server_init() which is not good.
      
        sql/set_var.cc
      Bug#53251      mysql_library_init fails on second execution with embedded library
              sys_var::cleanup() call instead of the destructor
      
        sql/set_var.h
      Bug#53251      mysql_library_init fails on second execution with embedded library
              sys_var::cleanup() introduced instead of the destructor
              
        sql/sys_vars.h
      Bug#53251      mysql_library_init fails on second execution with embedded library
              Sys_var_charptr::cleanup() implemented
      d5330f34
    • Marc Alff's avatar
      Bug#55873 short startup options do not work in 5.5 · 68b34ff1
      Marc Alff authored
      Merge cleanup, fixed a build warning:
      
      my_getopt.c:156: warning: 'opt_found' may be used uninitialized in this function
      68b34ff1
  6. 01 Sep, 2010 5 commits
    • Alexey Botchkov's avatar
      merging. · d64dcd4a
      Alexey Botchkov authored
      d64dcd4a
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-5.5. · d52824f7
      Alexander Nozdrin authored
      d52824f7
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-5.5-stage. · b9662aaa
      Alexander Nozdrin authored
      b9662aaa
    • Alexey Botchkov's avatar
      Bug#54861 Additional connections not handled properly in mtr --embedded · c0413b74
      Alexey Botchkov authored
              When in embedded-serve mode, mysqltest tried to run '--send' commands in the separate thread.
              That upsets some engines (InnoDB particularly) as the transaction has to be executed in the same
              thread completely. So i implemented some different approach. So we create one separate thread for
              each connection and execute all the queries of this connection inside it. Looks even simpler than it was
              for me.
      
      per-file comments:
        client/mysqltest.cc
      Bug#54861      Additional connections not handled properly in mtr --embedded
              Now the connection has one running connection_thread() attached. And sends all the
              query and read-result requests to it.
      c0413b74
    • Alexey Botchkov's avatar
      Bug#54906 Inconsistent license of libmysqld · 56e82c22
      Alexey Botchkov authored
             made libmysqld/Makefile.am to have same licence as libmysqld/CMakeLists.txt
      
      per-file comments:
        libmysqld/Makefile.am
      Bug#54906      Inconsistent license of libmysqld
              Added GPL license header instead of Library GPL.
      56e82c22
  7. 31 Aug, 2010 3 commits
    • Alexander Nozdrin's avatar
      6fa0df0f
    • Alexander Nozdrin's avatar
      Bug#55980 Character sets: supplementary character _bin ordering is wrong · 8b4af2a2
      Alexander Nozdrin authored
      Problem:
      - ORDER BY for utf8mb4_bin, utf16_bin and utf32_bin returned
        results in a wrong order, because old functions
        (supporting only BMP range) were used to handle these collations.
      - Additionally, utf16_bin did not sort supplementary characters
        between U+D700 and U+E000, as WL#1213 specification specified.
      
      include/m_ctype.h:
        Adding prototypes.
      mysql-test/include/ctype_filesort2.inc:
        Adding a new shared test file.
      mysql-test/t/ctype_utf8mb4.test:
        Adding tests.
      strings/ctype-ucs2.c:
        - Fixing my_strncoll[sp]_utf16_bin to compare
          binary representation instead of code points,
          to make columns with indexes sort correct.
        - Fixing my_collation_handler_utf32_bin and
          my_collation_handler_utf16_bin to use new
          functions.
      strings/ctype-utf8.c:
        - Adding my_strnxfrm[len]_unicode_fill_bin()
          to handle utf8mb4_bin, utf16_bin and utf32_bin,
          using 3 bytes per weight.
          This function also performs special reordering in case of utf16_bin.
        - Fixing my_collation_utf8mb4_bin handler to use the
          new function.
      8b4af2a2
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-5.5-merge. · e0622c5a
      Alexander Nozdrin authored
      e0622c5a
  8. 30 Aug, 2010 10 commits
    • Gleb Shchepa's avatar
      af604962
    • Gleb Shchepa's avatar
      Bug #53034: Multiple-table DELETE statements not accepting · 07024ab7
      Gleb Shchepa authored
                  "Access compatibility" syntax
      
      The "wild" "DELETE FROM table_name.* ... USING ..." syntax
      for multi-table DELETE statements is documented but it was
      lost in the fix for the bug 30234.
      
      The table_ident_opt_wild parser rule has been added
      to restore the lost syntax.
      
      
      mysql-test/r/delete.result:
        Test case for bug #53034.
      mysql-test/t/delete.test:
        Test case for bug #53034.
      sql/sql_yacc.yy:
        Bug #53034: Multiple-table DELETE statements not accepting
                    "Access compatibility" syntax
        
        The table_ident_opt_wild parser rule has been added
        to restore the lost syntax.
        Note: simple extending of table_ident with opt_wild in
        the table_alias_ref rule is not acceptable, because
        a) it adds one conflict more and b) this conflict resolves
        in the inappropriate way.
      07024ab7
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-5.5-merge. · 8a50a7a2
      Alexander Nozdrin authored
      8a50a7a2
    • Magnus Blåudd's avatar
      Bug#56117 ha_ndbcluster_tables.h included by mysqldump but not used · 90eef290
      Magnus Blåudd authored
       - Remove include of ha_ndbcluster_tables.h from mysqldump.c
      90eef290
    • Dmitry Shulga's avatar
      Follow-up for Bug#29751: FLUSH LOGS doesn't create -old file, · 9a9e7a2f
      Dmitry Shulga authored
      so test case has to be updated.
      9a9e7a2f
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-5.5. · e2dd2e73
      Alexander Nozdrin authored
      e2dd2e73
    • Alexander Nozdrin's avatar
      c5ca4142
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-5.5-bugfixing. · bef62cb6
      Alexander Nozdrin authored
      bef62cb6
    • Alexey Kopytov's avatar
      Automerge. · c2a3d3c5
      Alexey Kopytov authored
      c2a3d3c5
    • unknown's avatar
      Bug #54579 Wrong unsafe warning for INSERT DELAYED in SBR · 3b1a7ebb
      unknown authored
            
      The lock_type is upgrade to TL_WRITE from TL_WRITE_DELAYED for
      INSERT DELAYED when inserting multi values in one statement.
      It's safe. But it causes an unsafe warning in SBR.
            
      Make INSERT DELAYED safe by logging it as INSERT without DELAYED.
      
      
      mysql-test/extra/binlog_tests/binlog_insert_delayed.test:
        Updated the test file to test multi INSERT DELAYED statement
        is no longer causes an unsafe warning and binlogged as INSERT
        without DELAYED.
      mysql-test/extra/rpl_tests/create_recursive_construct.inc:
        Updated for the patch of bug#54579.
      mysql-test/suite/binlog/r/binlog_row_binlog.result:
        Updated for the patch of bug#54579.
      mysql-test/suite/binlog/r/binlog_statement_insert_delayed.result:
        Test result for BUG#54579.
      mysql-test/suite/binlog/r/binlog_stm_binlog.result:
        Updated for the patch of bug#54579.
      mysql-test/suite/binlog/r/binlog_unsafe.result:
        Updated for the patch of bug#54579.
      mysql-test/suite/binlog/t/binlog_unsafe.test:
        Updated for the patch of bug#54579.
      sql/sql_insert.cc:
        Added code to genetate a new query string for removing
        DELAYED keyword for multi INSERT DEALAYED statement.
      sql/sql_yacc.yy:
        Added code to record the DELAYED keyword position and remove the setting
        of unsafe statement for INSERT DELAYED statement
      3b1a7ebb
  9. 28 Aug, 2010 1 commit
  10. 27 Aug, 2010 6 commits
    • Marc Alff's avatar
      local merge · 3b56ef04
      Marc Alff authored
      3b56ef04
    • Sergey Vojtovich's avatar
      Merge 5.1-bugteam to 5.5-merge. · 98df5f7c
      Sergey Vojtovich authored
      98df5f7c
    • Alexey Kopytov's avatar
      Bug #54465: assert: field_types == 0 || field_types[field_pos] · 36e234a8
      Alexey Kopytov authored
                  == MYSQL_TYPE_LONGLONG
      
      A MIN/MAX() function with a subquery as its argument could lead
      to a debug assertion on debug builds or wrong data on release
      ones.
      
      The problem was a combination of the following factors:
      
      - Item_sum_hybrid::fix_fields() might use the argument
      (args[0]) to calculate 'hybrid_field_type' which was later used
      to decide how the data should be sent to the client.
      
      - Item_sum::make_field() might use the argument again to
      calculate the field's type when sending result set metadata to
      the client.
      
      - The argument could be changed in between these two calls via
        Item::set_arg() leading to inconsistent metadata being
        reported.
      
      Here is what was happening for the bug's test case:
      
      1. Item_sum_hybrid::fix_fields() calculates hybrid_field_type
      as MYSQL_TYPE_LONGLONG based on args[0] which is an
      Item::SUBSELECT_ITEM at that time.
      
      2. A temporary table is created to execute the
      query. create_tmp_field_from_item() creates a Field_long object
      according to the subselect's max_length.
      
      3. The subselect item in Item_sum_hybrid is replaced by the
      Item_field object referencing the newly created Field_long.
      
      4. Item_sum::make_field() rightfully returns the
      MYSQL_TYPE_LONG type when calculating the result set metadata.
      
      5. When sending the actual data, Item::send() relies on the
      virtual field_type() function which in our case returns
      previously calculated hybrid_field_type == MYSQL_TYPE_LONGLONG.
      
      It looks like the only solution is to never refer to the
      argument's metadata after the result metadata has been
      calculated in fix_fields(), since the argument itself may be
      different by then. In this sense, Item_sum::make_field() should
      never be used, because it may rely on the argument's metadata
      and is only called after fix_fields(). The "default"
      implementation in Item::make_field() should be used instead as
      it relies only on field_type(), but not on the argument's type.
      
      Fixed by removing Item_sum::make_field() so that the superclass
      implementation Item::make_field() is always used.
      
      mysql-test/r/func_group.result:
        Added a test case for bug #54465.
      mysql-test/t/func_group.test:
        Added a test case for bug #54465.
      sql/item_sum.cc:
        Removed Item_sum::make_field() so that the superclass
        implementation Item::make_field() is always used.
      sql/item_sum.h:
        Removed Item_sum::make_field() so that the superclass
        implementation Item::make_field() is always used.
      36e234a8
    • Ramil Kalimullin's avatar
      Fix for bug #54253: memory leak when using I_S plugins w/o deinit method · e433cb33
      Ramil Kalimullin authored
      Free memory allocated by the server for all plugins,
      with or without deinit() method.
      
      e433cb33
    • Sergey Vojtovich's avatar
      e1af6730
    • Sergey Vojtovich's avatar
      BUG#52821 - plugin_ftparser.h and plugin_audit.h are · 8f773e6f
      Sergey Vojtovich authored
                  not tested by ABI check
      
      plugin_audit.h and plugin_ftparser.h are now subject
      for ABI check. plugin.h is now tested implicitly.
      
      Also fixed broken ABI check cmake rules.
      
      Makefile.am:
        plugin_audit.h and plugin_ftparser.h are now subject
        for ABI check. plugin.h is now tested implicitly.
      cmake/abi_check.cmake:
        plugin_audit.h and plugin_ftparser.h are now subject
        for ABI check. plugin.h is now tested implicitly.
        
        Also fixed broken ABI check rules: -DMYSQL_ABI_CHECK is
        compiler (not cmake) definition, incorrect definitions
        were passed to do_abi_check.cmake for abi_check_all rule.
      cmake/do_abi_check.cmake:
        Inform sources that we do ABI check.
      include/mysql/plugin.h.pp:
        plugin.h is now tested implicitly.
      include/mysql/plugin_audit.h.pp:
        plugin_audit.h is now subject for ABI check.
      include/mysql/plugin_ftparser.h.pp:
        plugin_ftparser.h is now subject for ABI check.
      8f773e6f
  11. 26 Aug, 2010 4 commits