1. 17 May, 2011 3 commits
  2. 16 May, 2011 7 commits
    • unknown's avatar
      Fix LP BUG#778413 · 2f203da8
      unknown authored
      Analysis:
      The subquery is evaluated first during ref-optimization of the outer
      query because the subquery is considered constant from the perspective
      of the outer query. Thus an attempt is made to evaluate the MAX subquery
      and use the new constant to drive an index nested loops join.
      During this evaluation the inner-most subquery replaces the JOIN_TAB
      with a new one that fetches the data from a temp table.
      The function select_describe crashes at the lines:
              TABLE_LIST *real_table= table->pos_in_table_list; 
      	item_list.push_back(new Item_string(real_table->alias,
      					    strlen(real_table->alias),
      					    cs));
      because 'table' is a temp table, and it has no corresponding table
      reference. This 'real_table' is NULL, and real_table->alias results
      in a crash.
      
      Solution:
      In the spirit of MWL#89 prevent the evaluation of expensive predicates
      during optimization. This patch prevents the evaluation of expensive
      predicates during ref optimization.
      
      
      sql/item_subselect.h:
        Remove unused class member. Not needed for the fix, but noticed now and removed.
      2f203da8
    • unknown's avatar
      fix dynco test on Windows, really now · a4e1f9e7
      unknown authored
      (from Wlad)
      a4e1f9e7
    • unknown's avatar
      Fix of compiler errors. · b24c4675
      unknown authored
      storage/maria/ma_loghandler.c:
        Awoiding signed and unsigned comporison.
      storage/maria/ma_loghandler.h:
        debug function.
      storage/maria/unittest/ma_loghandler_examples.c:
        debug function.
      b24c4675
    • Michael Widenius's avatar
      Automatic merge · 4bb0edea
      Michael Widenius authored
      4bb0edea
    • Michael Widenius's avatar
      Merge with 5.3 main · 0a72fe3e
      Michael Widenius authored
      0a72fe3e
    • Michael Widenius's avatar
      Merge with 5.2 · 8bbc4f52
      Michael Widenius authored
      8bbc4f52
    • Michael Widenius's avatar
      Added more asserts to find out how maria.maria-big could have failed in buildbot. · 65f4cce7
      Michael Widenius authored
      
      storage/maria/ma_loghandler.c:
        Added assert if we give wrong type to translog_write_record().
        (This should be impossible, but the failure record in buildbot also looks impossible so we need more information...)
      storage/maria/ma_loghandler.h:
        Added prototype for check_translog_description_table()
      storage/maria/unittest/ma_loghandler_examples.c:
        Call check_translog_description_table() to register number of log_record_type_descriptor[] events.
      65f4cce7
  3. 15 May, 2011 1 commit
    • Vladislav Vaintroub's avatar
      Small CMake fixes : · 23c49538
      Vladislav Vaintroub authored
      - add version info for the client library, dynamic plugins and some utilities
      - do not recompile client library sources 3 times (for mysqlclient , mysqlclient_notls and libmysql)
        One time is sufficient, so get rid of mysqlclient_notls, and link  static client library  to  the shared.
      - remove incremental linking flag
      23c49538
  4. 14 May, 2011 5 commits
  5. 13 May, 2011 6 commits
    • Vladislav Vaintroub's avatar
      Fix PBXT bugs found while testing with Application Verifier : · 28e14cb0
      Vladislav Vaintroub authored
      LPBUG#782269 : critical sections are initialized twice in   xt_xn_init_db() 
      LPBUG#782431: active lock in memory released by   xt_ind_exit()
      LPBUG#782433 : xt_heap_release() does not release spinlock  hp->h_lock initialized in xt_heap_new().
      LPBUG#782435: xt_exit_row_locks() tries to release unallocated locks
      28e14cb0
    • Vladislav Vaintroub's avatar
    • unknown's avatar
      Fix LP BUG#777597 · 707e66e1
      unknown authored
      Analysis:
      During optimization of the subquery, in the call chain:
      
      update_ref_and_keys -> add_key_fields ->
      merge_key_fields -> Item_direct_ref::is_null -> Item_cache::is_null
      
      The call to Item_cache::is_null() returns TRUE, which is wrong.
      This results in Item_null replacing the field 'f3' in the KEY_FIELD,
      then this Item_null is used for index access, producing a wrong result.
      
      The reason why Item_cache::is_null returns wrong result is that
      this Item_cache object is a cache of the left operand of IN, and was
      updated in Item_in_optimizer::val_int. In MWL#89 the latter method is
      called during the execution phase, which is after we optimize the subquery.
      Therefore during the optization phase the left operand cache of IN was
      not updated.
      
      Solution:
      Update the left operand cache during optimization if it is a constant.
      
      This bug fix also discoveres and fixes a wrong IF statement in
      convert_constant_item().
      707e66e1
    • Oleksandr Byelkin's avatar
      Directories with .dylib files added to DYLD_LOIBRARY_PATH to allow plugins to use them. · 657afc57
      Oleksandr Byelkin authored
      mysql-test/mysql-test-run.pl:
        Directories added for mac to lybrary search paths.
      plugin/handler_socket/libhsclient/Makefile.am:
        Static build of library removed.
      657afc57
    • Michael Widenius's avatar
      Made test-unit run in parlallel. This was achived by having all aria tests... · ef652044
      Michael Widenius authored
      Made test-unit run in parlallel. This was achived by having all aria tests that uses temporary files to create the temporary file in an unique tempdirectory.
      aria_chk now returns 1 if one got any warnings during check and 2 if one got errors.
      lp:728919 maria_chk should fail on all detected corruptions
      
      mysql-test/lib/My/SafeProcess.pm:
        Removed ^M lines from the file
      storage/maria/ma_check.c:
        Fixed indentation
      storage/maria/maria_chk.c:
        aria_chk now returns 1 if one got any warnings during check and 2 if one got errors.
      storage/maria/unittest/ma_control_file-t.c:
        Use unique sub directory for test results
      storage/maria/unittest/ma_maria_log_cleanup.c:
        Added help function create_tmpdir()
      storage/maria/unittest/ma_pagecache_consist.c:
        Use unique sub directory for test results
      storage/maria/unittest/ma_pagecache_rwconsist.c:
        Use unique sub directory for test results
      storage/maria/unittest/ma_pagecache_rwconsist2.c:
        Use unique sub directory for test results
      storage/maria/unittest/ma_pagecache_single.c:
        Use unique sub directory for test results
      storage/maria/unittest/ma_test_all-t:
        Use unique sub directory for test results
      storage/maria/unittest/ma_test_loghandler-t.c:
        Use unique sub directory for test results
      storage/maria/unittest/ma_test_loghandler_first_lsn-t.c:
        Use unique sub directory for test results
        remove delete of files that are already deleted by maria_log_remove()
      storage/maria/unittest/ma_test_loghandler_max_lsn-t.c:
        Use unique sub directory for test results
      storage/maria/unittest/ma_test_loghandler_multigroup-t.c:
        Use unique sub directory for test results
      storage/maria/unittest/ma_test_loghandler_multithread-t.c:
        Use unique sub directory for test results
      storage/maria/unittest/ma_test_loghandler_noflush-t.c:
        Use unique sub directory for test results
        remove delete of files that are already deleted by maria_log_remove()
      storage/maria/unittest/ma_test_loghandler_nologs-t.c:
        Use unique sub directory for test results
      storage/maria/unittest/ma_test_loghandler_pagecache-t.c:
        Use unique sub directory for test results
        remove delete of files that are already deleted by maria_log_remove()
      storage/maria/unittest/ma_test_loghandler_purge-t.c:
        Use unique sub directory for test results
      support-files/compiler_warnings.supp:
        Supress some warnings
      unittest/unit.pl:
        Run 4 unittests in parallel
      ef652044
    • Michael Widenius's avatar
      Fixed test differences on windows · 3af6dfe4
      Michael Widenius authored
      3af6dfe4
  6. 12 May, 2011 7 commits
  7. 11 May, 2011 11 commits
    • Michael Widenius's avatar
      Fixed bug when accessing wrong decimal value in dynamic string (Fixed lp:781233) · cf002afc
      Michael Widenius authored
      Store decimal 0.0 in zero bytes in dynamic strings.
      mysqltest: Don't ignore error from mysql_stmt_fetch;  This could cause rows to be missing from log when running with --ps-protocol
      Fixed wrong result length for CAST(... as TIME)
      
      
      
      
      
      
      client/mysqltest.cc:
        Don't ignore error from mysql_stmt_fetch;  This could cause rows to be missing from log when running with --ps-protocol
      libmysql/libmysql.c:
        The max length for a TIME column is 17, not 15.
      mysql-test/r/dyncol.result:
        More tests
      mysql-test/t/dyncol.test:
        More tests
      mysys/ma_dyncol.c:
        Check content of decimal value on read and store to not get assert in decimal_bin_size().
        Store decimal 0.0 in zero bytes in dynamic strings. This also solves a problem where decimal 0 had different internal representations.
      sql-common/my_time.c:
        Fixed DBUG_PRINT
      sql/item_timefunc.h:
        Fixed wrong result length for CAST(... as TIME). This was the cause of failures in buildbot when doing cast(... as time);
      sql/protocol.cc:
        More DBUG_PRINT
      cf002afc
    • unknown's avatar
      Automatic merge with MWL148 · 6c5ceaff
      unknown authored
      6c5ceaff
    • unknown's avatar
      Post review fixes of MWL#148 (moving max/min optimization in optimize phase). · 7c549e4d
      unknown authored
      sql/item_subselect.cc:
        Cleanup. Comments added.
      sql/item_subselect.h:
        Cleanup.
      sql/mysql_priv.h:
        Comments added.
      sql/opt_subselect.cc:
        The function renamed and turned to method.
        Comments added.
      sql/opt_subselect.h:
        The function turned to method of JOIN.
      sql/sql_select.cc:
        Comment added. The function turned to method.
      sql/sql_select.h:
        The function turned to method.
      7c549e4d
    • Michael Widenius's avatar
      automatic merge · 24e055a8
      Michael Widenius authored
      24e055a8
    • Michael Widenius's avatar
      Fixed a memory overrun in dynamic columns when sending in a mailformed (too... · e8ced775
      Michael Widenius authored
      Fixed a memory overrun in dynamic columns when sending in a mailformed (too short in this case) string.
      
      mysql-test/t/dyncol.test:
        Added test case for mailformed string usage
      mysys/ma_dyncol.c:
        Added test for wrong dynamic string data
      e8ced775
    • unknown's avatar
      Bugfix: New table creation/renaming block added if old encoded table present. · c94de8f0
      unknown authored
      mysql-test/r/create.result:
        test of renaming
      mysql-test/r/upgrade.result:
        Now such behaviour prohibited to avoid problems.
      mysql-test/t/create.test:
        test of renaming
      mysql-test/t/upgrade.test:
        Now such behaviour prohibited to avoid problems.
      sql/mysql_priv.h:
        Function to test table name presence added.
      sql/sql_rename.cc:
        Rename fixed.
      sql/sql_table.cc:
        Function to test table name presence added.
        Create fixed.
      c94de8f0
    • Michael Widenius's avatar
      Fixed compiler warnings and test cases problems found by buildbot · 75b555dc
      Michael Widenius authored
      
      mysql-test/r/dyncol.result:
        Updated test results
      mysql-test/r/index_intersect.result:
        Updated results
      mysql-test/r/index_intersect_innodb.result:
        Updated results
      mysql-test/t/dyncol.test:
        Added replace_result for floating point results that are different on windows
        Added round() around a result to get same result on all platforms.
      mysql-test/t/index_intersect.test:
        Added replace_result to fix that index_merge may put key names in different order.
      mysys/ma_dyncol.c:
        Fixed compiler warnings on Solaris
      sql/key.cc:
        Fixed compiler warnings on Solaris
      sql/mysqld.cc:
        Fixed compiler warning on windows
      support-files/compiler_warnings.supp:
        Suppressed an unintersting warning on Solaris
      75b555dc
    • Sergey Petrunya's avatar
      Merge fix for BUG#779885 · 0fe4dea1
      Sergey Petrunya authored
      0fe4dea1
    • unknown's avatar
      automerge · 5ff06da4
      unknown authored
      5ff06da4
    • unknown's avatar
      Fix race in testcase innodb_plugin.group_commit_no_optimize_thread · 2bea7138
      unknown authored
      The problem was that connection con5, which is supposed to be the leader for
      the third group, could if timing was bad end up as participant in the second
      group, causing the test to fail.
      
      Fixed by ensuring that group 2 is running before starting the transaction
      for group 3.
      2bea7138
    • Vladislav Vaintroub's avatar
      Fix compile error by changing #include <mysys_priv.h> to #include "mysys_priv.h" · 8f078367
      Vladislav Vaintroub authored
      Fix various warnings about conversion from bigger to smaller integer types in assignments
      8f078367