1. 15 Sep, 2010 1 commit
    • Mattias Jonsson's avatar
      Bug#56659: Mismatch of CAPITAL vs small letters in "unified filelist" partitioning output · afd4b25d
      Mattias Jonsson authored
      Bug#56657: Test still uses "--exec rm -f ..." which is non-portable
      Bug#56601: Test uses Unix path for temporary file, fails, and writes misleading message
      
      Several tests that was written in a non portable way (failed on windows)
      
      Fixed by
      1) backporting the fix for replace_result to also apply to list_files
      (mysqltest from mysql-trunk)
      2) replacing all #p#/#sp#/#tmp# to #P#/#SP#/#TMP#/
      (innodb always converts filenames to lower case in windows).
      3) replacing '--exec rm -f' with '--remove_files_wildcard'
      4) replacing a perl snippet with '--write_file'
      
      client/mysqltest.cc:
        backport from mysql-trunk to allow replace_result to apply
        also on list_files
      mysql-test/suite/parts/inc/partition_check_drop.inc:
        Compensate for differences between innodb on windows vs unix.
        Using mysqltest command, instead of unix command to remove files.
      mysql-test/suite/parts/inc/partition_crash.inc:
        compensate for differences between innodb on windows vs unix
      mysql-test/suite/parts/inc/partition_fail.inc:
        compensate for differences between innodb on windows vs unix
      mysql-test/suite/parts/inc/partition_layout.inc:
        compensate for differences between innodb on windows vs unix
      mysql-test/suite/parts/inc/partition_layout_check1.inc:
        compensate for differences between innodb on windows vs unix
      mysql-test/suite/parts/inc/partition_layout_check2.inc:
        compensate for differences between innodb on windows vs unix
      mysql-test/suite/parts/r/partition_recover_myisam.result:
        updated result
      mysql-test/suite/parts/r/partition_special_myisam.result:
        updated result
      mysql-test/suite/parts/t/part_supported_sql_func_innodb.test:
        Test takes very long time, require --big flag
      mysql-test/suite/parts/t/partition_alter1_1_2_innodb.test:
        Test takes very long time, require --big flag
      mysql-test/suite/parts/t/partition_alter1_2_innodb.test:
        Test takes very long time, require --big flag
      mysql-test/suite/parts/t/partition_alter2_1_1_innodb.test:
        Test takes very long time, require --big flag
      mysql-test/suite/parts/t/partition_alter2_1_2_innodb.test:
        Test takes very long time, require --big flag
      mysql-test/suite/parts/t/partition_alter2_2_2_innodb.test:
        Test takes very long time, require --big flag
      mysql-test/suite/parts/t/partition_alter4_innodb.test:
        Test takes very long time, require --big flag
      mysql-test/suite/parts/t/partition_debug_sync_innodb.test:
        compensate for differences between innodb on windows vs unix
      mysql-test/suite/parts/t/partition_recover_myisam.test:
        more generic suppression (failed in windows)
      mysql-test/suite/parts/t/partition_special_myisam.test:
        Using portable mysqltest command 'write_file' instead of perl snippet.
      afd4b25d
  2. 10 Sep, 2010 1 commit
  3. 09 Sep, 2010 7 commits
  4. 08 Sep, 2010 3 commits
    • Marc Alff's avatar
      Bug#56528 Increased server footprint with MTR · c314b3f1
      Marc Alff authored
      With recent changes in the performance schema default sizing parameters,
      the memory used by a mysqld binary increased accordingly.
      
      This negatively affects the MTR test suite,
      because running several tests in parallel now consumes more ressources.
      
      The fix is to leave the default production values unchanged,
      and to configure the MTR environment to limit memory
      used when running tests in the test suite, which is ok
      because only a few objects are typically used within a test script.
      
      This fix:
      - changed the default configuration in MTR to use less memory
      - adjusted the performance schema tests accordingly
      
      Note that 1,000 mutex instances was too short and caused test failures
      in the past in team trees, so the default used is now 10,000 in MTR.
      
      The amount of memory used by the performance schema itself
      can be observed with the statement SHOW ENGINE PERFORMANCE_SCHEMA STATUS
      c314b3f1
    • Alexey Botchkov's avatar
      merging. · c36483a3
      Alexey Botchkov authored
      c36483a3
    • Alexey Botchkov's avatar
      merging. · 3d845625
      Alexey Botchkov authored
      3d845625
  5. 07 Sep, 2010 1 commit
    • Evgeny Potemkin's avatar
      Bug#56271: Wrong comparison result with STR_TO_DATE function · e435df8e
      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.
      e435df8e
  6. 06 Sep, 2010 1 commit
    • Mats Kindahl's avatar
      Bug #55966: "plugin" tests fail in 5.5 · c4913bc3
      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.
      c4913bc3
  7. 02 Sep, 2010 3 commits
    • Vladislav Vaintroub's avatar
      Small fixes in CMake: · 744c1013
      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)
      744c1013
    • Alexey Botchkov's avatar
      Bug#53251 mysql_library_init fails on second execution with embedded library · c6024dfc
      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
      c6024dfc
    • Marc Alff's avatar
      Bug#55873 short startup options do not work in 5.5 · 7e8d7450
      Marc Alff authored
      Merge cleanup, fixed a build warning:
      
      my_getopt.c:156: warning: 'opt_found' may be used uninitialized in this function
      7e8d7450
  8. 01 Sep, 2010 5 commits
    • Alexey Botchkov's avatar
      merging. · b04e28c8
      Alexey Botchkov authored
      b04e28c8
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-5.5. · d8853211
      Alexander Nozdrin authored
      d8853211
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-5.5-stage. · 7bd80854
      Alexander Nozdrin authored
      7bd80854
    • Alexey Botchkov's avatar
      Bug#54861 Additional connections not handled properly in mtr --embedded · cc81f969
      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.
      cc81f969
    • Alexey Botchkov's avatar
      Bug#54906 Inconsistent license of libmysqld · 49dc22b2
      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.
      49dc22b2
  9. 31 Aug, 2010 3 commits
    • Alexander Nozdrin's avatar
      99c7536c
    • Alexander Nozdrin's avatar
      Bug#55980 Character sets: supplementary character _bin ordering is wrong · 9e4928af
      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.
      9e4928af
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-5.5-merge. · 39b8f92f
      Alexander Nozdrin authored
      39b8f92f
  10. 30 Aug, 2010 10 commits
    • Gleb Shchepa's avatar
      da9c598a
    • Gleb Shchepa's avatar
      Bug #53034: Multiple-table DELETE statements not accepting · ccab4d87
      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.
      ccab4d87
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-5.5-merge. · f0fe6e4d
      Alexander Nozdrin authored
      f0fe6e4d
    • Magnus Blåudd's avatar
      Bug#56117 ha_ndbcluster_tables.h included by mysqldump but not used · 8c8080ad
      Magnus Blåudd authored
       - Remove include of ha_ndbcluster_tables.h from mysqldump.c
      8c8080ad
    • Dmitry Shulga's avatar
      Follow-up for Bug#29751: FLUSH LOGS doesn't create -old file, · be4ce1b8
      Dmitry Shulga authored
      so test case has to be updated.
      be4ce1b8
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-5.5. · 9ab0759e
      Alexander Nozdrin authored
      9ab0759e
    • Alexander Nozdrin's avatar
      84628ea2
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-5.5-bugfixing. · 5f4cb3a9
      Alexander Nozdrin authored
      5f4cb3a9
    • Alexey Kopytov's avatar
      Automerge. · 4124f1f4
      Alexey Kopytov authored
      4124f1f4
    • unknown's avatar
      Bug #54579 Wrong unsafe warning for INSERT DELAYED in SBR · 89f3fec1
      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
      89f3fec1
  11. 28 Aug, 2010 1 commit
  12. 27 Aug, 2010 4 commits
    • Marc Alff's avatar
      local merge · a5aad2e7
      Marc Alff authored
      a5aad2e7
    • Sergey Vojtovich's avatar
      Merge 5.1-bugteam to 5.5-merge. · 0d21bbe3
      Sergey Vojtovich authored
      0d21bbe3
    • Alexey Kopytov's avatar
      Bug #54465: assert: field_types == 0 || field_types[field_pos] · d7d0f639
      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.
      d7d0f639
    • Ramil Kalimullin's avatar
      Fix for bug #54253: memory leak when using I_S plugins w/o deinit method · 7ebd2cd7
      Ramil Kalimullin authored
      Free memory allocated by the server for all plugins,
      with or without deinit() method.
      
      
      7ebd2cd7