1. 18 May, 2011 2 commits
    • Michael Widenius's avatar
      Original idea from Zardosht Kasheff to add HA_CLUSTERED_INDEX · 36311464
      Michael Widenius authored
      - Added a lot of code comments
      - Updated get_best_ror_intersec() to prefer index scan on not clustered keys before clustered keys.
      - Use HA_CLUSTERED_INDEX to define if one should use HA_MRR_INDEX_ONLY
      - For test of using index or filesort to resolve ORDER BY, use HA_CLUSTERED_INDEX flag instead of primary_key_is_clustered()
      - Use HA_TABLE_SCAN_ON_INDEX instead of primary_key_is_clustered() to decide if ALTER TABLE ... ORDER BY will have any effect.
      
      sql/ha_partition.h:
        Added comment with warning for code unsafe to use with multiple storage engines at the same time
      sql/handler.h:
        Added HA_CLUSTERED_INDEX.
        Documented primary_key_is_clustered()
      sql/opt_range.cc:
        Added code comments
        Updated get_best_ror_intersec() to ignore clustered keys.
        Optimized away cpk_scan_used and one instance of current_thd (Simpler code)
        Use HA_CLUSTERED_INDEX to define if one should use HA_MRR_INDEX_ONLY
      sql/sql_select.cc:
        Changed comment to #ifdef
        For test of using index or filesort to resolve ORDER BY, use HA_CLUSTERED_INDEX flag instead of primary_key_is_clustered()
        (Change is smaller than what it looks beause of indentation change)
      sql/sql_table.cc:
        Use HA_TABLE_SCAN_ON_INDEX instead of primary_key_is_clustered() to decide if ALTER TABLE ... ORDER BY will have any effect.
      storage/innobase/handler/ha_innodb.h:
        Added support for HA_CLUSTERED_INDEX
      storage/innodb_plugin/handler/ha_innodb.cc:
        Added support for HA_CLUSTERED_INDEX
      storage/xtradb/handler/ha_innodb.cc:
        Added support for HA_CLUSTERED_INDEX
      36311464
    • Michael Widenius's avatar
      Added HA_ERR_DISK_FULL handler error · 5c70f813
      Michael Widenius authored
      Original code by Zardosht Kasheff
      
      sql/handler.cc:
        Added HA_ERR_DISK_FULL and ENOSPC (for handler that uses normal errno).
        This sets 'fatal_error' to ensure that the error is logged to err file (which hopefully is on another disk...)
      5c70f813
  2. 17 May, 2011 1 commit
    • Michael Widenius's avatar
      Removed some alias warnings · 0da2df24
      Michael Widenius authored
      Fixed alias bug when compiling with gcc 4.2.4 that caused subselect.test to fail
      
      sql/item.cc:
        Removed alias warnings by changing type from char * to const char*
      sql/item.h:
        Removed alias warnings by changing type from char * to const char*
      sql/item_subselect.cc:
        Fixed alias bug when compiling with gcc 4.2.4 that caused subselect.test to fail
      sql/sql_string.h:
        Removed alias warnings by changing type from char * to const char*
      storage/heap/hp_test2.c:
        Removed SAFEMALLOC to get rid of compiler error
        Fixed test case as we can't anymore use heap_rlast() on a HASH key entry.
      0da2df24
  3. 16 May, 2011 6 commits
  4. 15 May, 2011 1 commit
    • Vladislav Vaintroub's avatar
      Small CMake fixes : · 19f0d6b2
      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
      19f0d6b2
  5. 14 May, 2011 5 commits
  6. 13 May, 2011 5 commits
    • Vladislav Vaintroub's avatar
      Fix PBXT bugs found while testing with Application Verifier : · 218c7665
      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
      218c7665
    • Vladislav Vaintroub's avatar
    • Oleksandr Byelkin's avatar
      Directories with .dylib files added to DYLD_LOIBRARY_PATH to allow plugins to use them. · bcee6652
      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.
      bcee6652
    • Michael Widenius's avatar
      Made test-unit run in parlallel. This was achived by having all aria tests... · 5933619c
      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
      5933619c
    • Michael Widenius's avatar
      Fixed test differences on windows · 3a6da123
      Michael Widenius authored
      3a6da123
  7. 12 May, 2011 7 commits
  8. 11 May, 2011 11 commits
    • Michael Widenius's avatar
      Fixed bug when accessing wrong decimal value in dynamic string (Fixed lp:781233) · 4c81cef7
      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
      4c81cef7
    • unknown's avatar
      Automatic merge with MWL148 · 88408233
      unknown authored
      88408233
    • unknown's avatar
      Post review fixes of MWL#148 (moving max/min optimization in optimize phase). · 18d08eea
      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.
      18d08eea
    • Michael Widenius's avatar
      automatic merge · 3a537679
      Michael Widenius authored
      3a537679
    • Michael Widenius's avatar
      Fixed a memory overrun in dynamic columns when sending in a mailformed (too... · f940c2ca
      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
      f940c2ca
    • unknown's avatar
      Bugfix: New table creation/renaming block added if old encoded table present. · 520927a7
      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.
      520927a7
    • Michael Widenius's avatar
      Fixed compiler warnings and test cases problems found by buildbot · 8d52c2cf
      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
      8d52c2cf
    • Sergey Petrunya's avatar
      Merge fix for BUG#779885 · 0a5026b0
      Sergey Petrunya authored
      0a5026b0
    • unknown's avatar
      automerge · fedeacee
      unknown authored
      fedeacee
    • unknown's avatar
      Fix race in testcase innodb_plugin.group_commit_no_optimize_thread · 6695c6f1
      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.
      6695c6f1
    • Vladislav Vaintroub's avatar
      Fix compile error by changing #include <mysys_priv.h> to #include "mysys_priv.h" · c735c1b7
      Vladislav Vaintroub authored
      Fix various warnings about conversion from bigger to smaller integer types in assignments
      c735c1b7
  9. 10 May, 2011 2 commits
    • Michael Widenius's avatar
      Fixed all reported bugs for dynamic columns. · 052d1bfb
      Michael Widenius authored
      Bugs fixed:
      - Added automatic detection of unsigned arguments to COLUMN_CREATE()
      - If string length is not know for COLUMN_GET() use MAX_DYNAMIC_COLUMN_LENGTH instead of MAX_FIELD_BLOBLENGTH
      - null_value flag was not propery reset for COLUMN_LIST() and COLUMN_CREATE() which could lead to crashes later:
      - lp:778905 Assertion `value->year <= 9999' failed in dynamic_column_date_store
      - lp:778912 Assertion `field_pos < field_count' failed in Protocol_text::store in maria-5.3-mwl34
      
      include/ma_dyncol.h:
        Added define for max dynamic column length.
      mysql-test/r/cast.result:
        Added test of cast big unsigned int to signed (this test case was missing)
      mysql-test/r/dyncol.result:
        Added tests from reported bugs
        Added testing of automatic store of signed/unsigned integers
      mysql-test/t/cast.test:
        Added test of cast big unsigned int to signed (this test case was missing)
      mysql-test/t/dyncol.test:
        Added tests from reported bugs
        Added testing of automatic store of signed/unsigned integers
      sql/item.cc:
        Added assert to catch cases where null_value is not set properly
      sql/item_strfunc.cc:
        Added automatic detection of unsigned arguments to COLUMN_CREATE()
        COLUMN_GET() returned wrong value for illegal strings which lead to assert later
        null_value flag was not propery reset for COLUMN_LIST() and COLUMN_CREATE() which could lead to crashes later.
      sql/item_strfunc.h:
        If string length is not know for COLUMN_GET() use MAX_DYNAMIC_COLUMN_LENGTH
      052d1bfb
    • Sergey Petrunya's avatar
      BUG#779885: Crash in eliminate_item_equal with materialization=on in maria-5.3 · 30575353
      Sergey Petrunya authored
      - In eliminate_item_equal(), we could end up in a situation where:
        = The multiple equality has a constant C1 (and so it is the "head item")
        = The join order was such that we've generated "sj_inner_table1=C1" equality,
          and now are looking to generate "sj_inner_table2_=..." equality. 
        When looking for what should be the other member of equality, we run
      
            Item *head_item= current_sjm? current_sjm_head: head;
        
        which sees current_sjm!=NULL, and takes current_sjm_head (which is NULL because 
        the constant C1 is the head for all cases).
      
      - Fixed in a trivial way: take current_sjm_head if we don't have constant.
      30575353