1. 16 May, 2011 2 commits
    • 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
  2. 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
  3. 14 May, 2011 5 commits
  4. 13 May, 2011 4 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
    • 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
  5. 12 May, 2011 6 commits
  6. 11 May, 2011 6 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
    • 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
    • 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
  7. 10 May, 2011 5 commits
    • Michael Widenius's avatar
      Fixed all reported bugs for dynamic columns. · f4491ade
      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
      f4491ade
    • Sergei Golubchik's avatar
      small enhancement of the create table options feature: · 9f4a16f1
      Sergei Golubchik authored
      no unnecessary casting from void*, more type safety.
      typos fixed.
      9f4a16f1
    • Vladislav Vaintroub's avatar
      Fix Windows embedded warnings · 835c18fa
      Vladislav Vaintroub authored
      835c18fa
    • Vladislav Vaintroub's avatar
    • Michael Widenius's avatar
      Merge with MariaDB 5.2 · ce3b7273
      Michael Widenius authored
      ce3b7273
  8. 09 May, 2011 4 commits
    • unknown's avatar
      Automatic merge Mariadb 5.1->5.2. · 103a23b8
      unknown authored
      103a23b8
    • unknown's avatar
      Fix buildbot failure in rpl_stop_slave.test. · 62da6c16
      unknown authored
      Problem was setting DEBUG_SYNC twice in a row too fast in the test case; this
      could cause the second setting to override the first before the code had time
      to react to the first, causing the signal to get lost.
      
      Fixed by waiting for the code to receive the first signal before overwriting
      it in the test case.
      62da6c16
    • Michael Widenius's avatar
      Make event stop code even more robust. · 82b49178
      Michael Widenius authored
      (Test failed if we added my_sleep(200000) in event_queue::cond_wait() just before pthread_cond_wait();  Not likely scenario but better to get that fixed too)
      82b49178
    • Michael Widenius's avatar
      mysqltest: Write command to be executed to the log BEFORE executing the command. · 65d1eda8
      Michael Widenius authored
      Fixed race condition in event that could cause hang when stopping event scheduler with SET GLOBAL event_scheduler=OFF 
      
      client/mysqltest.cc:
        Write command to be executed to the log BEFORE executing the command.
        This makes it easier to debug crashes as the log will contain the fatal command.
      mysql-test/r/mysqltest.result:
        Updated results (we now get more things logged)
      sql/event_queue.cc:
        Fixed race condition in event that could cause hang when stopping event scheduler with SET GLOBAL event_scheduler=OFF.
        The reason was that a kill signal could be sent between last check of thd->killed and before thd->enter_cond() in which case the signal
        would be missed and we would be stuck in Event_scheduler::stop() forever.
      65d1eda8
  9. 08 May, 2011 5 commits
    • Michael Widenius's avatar
      Merge with main 5.3 · 4b6d68de
      Michael Widenius authored
      4b6d68de
    • Michael Widenius's avatar
      Fixed compiler warnings · 355e2505
      Michael Widenius authored
      355e2505
    • Michael Widenius's avatar
      Adding support for Dynamic columns (WL#34): · 25ad9417
      Michael Widenius authored
      - COLUMN_CREATE(column_nr, value, [column_nr,value]...)
      - COLUMN_ADD(blob,column_nr, value, column_nr,value]...)
      - COLUMN_DELETE(blob, column_nr, column_nr...)
      - COLUMN_EXISTS(blob, column_nr)
      - COLUMN_LIST(blob, column_nr)
      - COLUMN_GET(string, column_nr AS type)
      
      Added cast(X as DOUBLE) and cast(x as INT)
      Better warning and error messages for wrong cast's
      Created some sub functions to simplify and reuse code.
      Added a lot of conversation functions with error/warnings for what went wrong.
      Fixed some issues when casting time to datetime.
      Added functions to dynamic strings and Strings to allow one to move a string buffer from dynamic strings to String (to save malloc+ copy)
      Added dynamic columns library to libmysqlclient
      
      
      include/Makefile.am:
        Added ma_dyncol.h
      include/decimal.h:
        Added 'const' to arguments for some functions.
      include/my_sys.h:
        Added dynstr_reassociate()
      include/my_time.h:
        Added TIME_SUBSECOND_RANGE
        Added double_to_datetime()
        Added flag argument to str_to_time()
      libmysql/CMakeLists.txt:
        Added mysys/ma_dyncol.c
      libmysql/Makefile.shared:
        Added ma_dyncol
      libmysql/libmysql.c:
        Added argument to str_to_time()
      mysql-test/r/bigint.result:
        Better error messages
      mysql-test/r/cast.result:
        Better warning and error messages
        A lot of new cast() tests
      mysql-test/r/func_math.result:
        Better warning messages
      mysql-test/r/func_str.result:
        Better warning messages
      mysql-test/r/func_time.result:
        Better warning messages
      mysql-test/r/sp-vars.result:
        Better warning messages
      mysql-test/r/strict.result:
        Better warning messages
        New test result
      mysql-test/r/type_newdecimal.result:
        Better warning messages
      mysql-test/r/warnings.result:
        Better warning messages
      mysql-test/suite/funcs_1/r/innodb_func_view.result:
        Updated results after better cast warnings
      mysql-test/suite/funcs_1/r/memory_func_view.result:
        Updated results after better cast warnings
      mysql-test/suite/funcs_1/r/myisam_func_view.result:
        Updated results after better cast warnings
      mysql-test/suite/optimizer_unfixed_bugs/t/bug43448.test:
        Added begin...commit to speed up test.
      mysql-test/suite/parts/inc/part_supported_sql_funcs_delete.inc:
        Added begin...commit to speed up test.
      mysql-test/suite/parts/inc/partition_supported_sql_funcs.inc:
        Added begin...commit to speed up test.
      mysql-test/suite/parts/r/part_supported_sql_func_innodb.result:
        Added begin...commit to speed up test.
      mysql-test/suite/parts/r/part_supported_sql_func_myisam.result:
        Added begin...commit to speed up test.
      mysql-test/suite/parts/r/rpl_partition.result:
        Added begin...commit to speed up test.
      mysql-test/suite/parts/t/part_supported_sql_func_innodb.test:
        Removed duplicated --big_test
      mysql-test/suite/parts/t/rpl_partition.test:
        Added begin...commit to speed up test.
      mysql-test/suite/pbxt/r/cast.result:
        Updated results after better cast warnings
      mysql-test/suite/pbxt/r/func_str.result:
        Updated results after better cast warnings
      mysql-test/suite/pbxt/r/type_newdecimal.result:
        Updated results after better cast warnings
      mysql-test/suite/rpl/r/rpl_innodb_bug28430.result:
        Added begin...commit to speed up test.
      mysql-test/suite/rpl/t/rpl_innodb_bug28430.test:
        Added begin...commit to speed up test.
      mysql-test/suite/vcol/r/vcol_supported_sql_funcs_innodb.result:
        More warnings
      mysql-test/suite/vcol/r/vcol_supported_sql_funcs_myisam.result:
        More warnings
      mysql-test/t/cast.test:
        A lot of new cast() tests
      mysql-test/t/strict.test:
        Added new test
      mysys/CMakeLists.txt:
        Added ma_dyncol.c
      mysys/Makefile.am:
        Added ma_dyncol.c
      mysys/string.c:
        Added dynstr_reassociate() to move a buffer from dynamic_strings to some other allocator
      sql-common/my_time.c:
        Added 'fuzzydate' flag to str_to_time()
        Added support for microseconds to my_time_to_str() and my_datetime_to_str()
        Reset second_parts in number_to_datetime()
        Added double_to_datetime()
      sql/field.cc:
        Added double_to_longlong() and truncate_double() to simplify and reuse code
      sql/field.h:
        New prototypes
      sql/item.cc:
        Changed Item::get_date(MYSQL_TIME *ltime,uint fuzzydate) to be aware of type of argument.
        (Needed to make it microsecond safe and get better warnings).
        Updated call to str_to_time_with_warn()
      sql/item.h:
        Added struct st_dyncall_create_def used by dynamic columns
        Added virtual bool dynamic_result() to tell if type of argument may change over calls.
      sql/item_cmpfunc.cc:
        Added Item_func_dyncol_exists()
      sql/item_cmpfunc.h:
        Added class Item_func_dyncol_exists
      sql/item_create.cc:
        Added get_length_and_scale() to simplify other functions
        Simplified and extended create_func_cast()
        Added support for cast(X as double(X,Y))
        Added functions to create dynamic column functions.
      sql/item_create.h:
        Added prototypes
      sql/item_func.cc:
        Extended cast functions Item_func_signed() and Item_func_unsigned() to work with dynamic types
        Added Item_double_typecast()
      sql/item_func.h:
        Added class Item_double_typecast()
      sql/item_strfunc.cc:
        Added functions for COLUMN_CREATE(), COLUMN_ADD(), COLUMN_GET() and COLUMN_LIST()
      sql/item_strfunc.h:
        Added classes for COLUMN_CREATE(), COLUMN_ADD(), COLUMN_GET() and COLUMN_LIST()
      sql/item_timefunc.cc:
        Added flag argument to str_to_time_with_warn()
        Updated Item_char_typecast() to handle result type that may change between calls (for dynamic columns)
        Added Item_time_typecast::get_date() to ensure that we cast a datetime to time properly.
      sql/item_timefunc.h:
        Added get_date() to Item_time_typecast() to allow proper results for casting time to datetime
      sql/lex.h:
        Added new SQL function names
      sql/my_decimal.cc:
        Added 'const' to some arguments.
        Better error message in case of errors (we now print out the wrong value)
        Added my_decimal2int()
      sql/my_decimal.h:
        Moved some constants to my_decimal_limits.h
        Updated prototypes.
        Made my_decimal2int() a function as it's rather long (no reason to have it inline)
        Added decimal2my_decimal() function.
      sql/mysql_priv.h:
        Prototypes for new functions
      sql/share/errmsg.txt:
        New error messages for wrong casts and dynamic columns
      sql/sql_acl.cc:
        Fixed indentation
      sql/sql_base.cc:
        Added dynamic_column_error_message()
      sql/sql_string.h:
        Added reassociate() to move a buffer to be owned by String object.
      sql/sql_yacc.yy:
        Added syntax for COLUMN_ functions.
      sql/time.cc:
        Updated str_to_datetime_with_warn() flag argument to same type as other functions
        Added conversion flag to str_to_time_with_warn() (Similar to all datetime functions)
        Added conversion functions with warnings: double_to_datetime_with_warn() and decimal_to_datetime_with_warn()
      strings/decimal.c:
        Added 'const' to arguments for some functions.
      unittest/mysys/Makefile.am:
        Added test for dynamic columns code
      25ad9417
    • Michael Widenius's avatar
      Automatic merge · 54bcb971
      Michael Widenius authored
      54bcb971
    • Michael Widenius's avatar
      Automatic merge with 5.1 · e9cad0b1
      Michael Widenius authored
      e9cad0b1
  10. 07 May, 2011 2 commits