An error occurred fetching the project authors.
  1. 13 Mar, 2014 1 commit
  2. 03 Feb, 2014 1 commit
  3. 09 Dec, 2013 1 commit
  4. 18 Oct, 2013 1 commit
  5. 23 Oct, 2013 1 commit
  6. 26 Sep, 2013 1 commit
  7. 25 Sep, 2013 1 commit
  8. 23 Sep, 2013 1 commit
  9. 22 Aug, 2013 1 commit
  10. 04 Jul, 2013 1 commit
  11. 17 Jun, 2013 1 commit
    • Michael Widenius's avatar
      Fixed some merge issues: · 2534521f
      Michael Widenius authored
      - temporary tables now works
      - mysql-system_tables updated to not use temporary tables
      - PASSWORD() function fixed
      - Support for STATS_AUTO_RECALC, STATS_PERSISTENT and STATS_SAMPLE_PAGES table options
      2534521f
  12. 15 Jun, 2013 1 commit
  13. 20 Apr, 2013 1 commit
  14. 18 Apr, 2013 1 commit
  15. 25 Mar, 2013 1 commit
  16. 19 Mar, 2013 1 commit
  17. 18 Mar, 2013 1 commit
  18. 14 Mar, 2013 1 commit
    • unknown's avatar
      MDEV-4272 fix. · ecd4bf62
      unknown authored
      Incorrect NULL value handling in Item_func_conv_charset fixed.
      ecd4bf62
  19. 11 Feb, 2013 1 commit
    • unknown's avatar
      MDEV-26. Intermediate commit. · 041f26d3
      unknown authored
      Implement binlog_gtid_pos() function. This will be used so that
      the slave can obtain the gtid position automatically from first
      connect with old-style position - then MASTER_GTID_POS=AUTO will
      work the next time. Can also be used by mysqldump --master-data
      to give the current gtid position directly.
      041f26d3
  20. 04 Feb, 2013 1 commit
  21. 28 Dec, 2012 1 commit
    • unknown's avatar
      MDEV-3873 & MDEV-3876 & MDEV-3912 : Wrong result (extra rows) with ALL subquery · 6f26aac9
      unknown authored
      from a MERGE view.
      
      The problem was in the lost ability to be null for the table of a left join if it
      is a view/derived table.
      
      It hapenned because setup_table_map(), was called earlier then we merged
      the view or derived.
      
      Fixed by propagating new maybe_null flag during Item::update_used_tables().
      
      Change in join_outer.test and join_outer_jcl6.test appeared because
      IS NULL reported no used tables (i.e. constant) for argument which could not be
      NULL and new maybe_null flag was propagated for IS NULL argument (Item_field)
      because table the Item_field belonged to changed its maybe_null status.
      6f26aac9
  22. 23 Dec, 2012 2 commits
  23. 28 Sep, 2012 1 commit
  24. 17 Jun, 2012 1 commit
  25. 15 Jun, 2012 1 commit
  26. 17 May, 2012 1 commit
    • unknown's avatar
      Fix for bug lp:944706, task MDEV-193 · da521483
      unknown authored
      The patch enables back constant subquery execution during
      query optimization after it was disabled during the development
      of MWL#89 (cost-based choice of IN-TO-EXISTS vs MATERIALIZATION).
      
      The main idea is that constant subqueries are allowed to be executed
      during optimization if their execution is not expensive.
      
      The approach is as follows:
      - Constant subqueries are recursively optimized in the beginning of
        JOIN::optimize of the outer query. This is done by the new method
        JOIN::optimize_constant_subqueries(). This is done so that the cost
        of executing these queries can be estimated.
      - Optimization of the outer query proceeds normally. During this phase
        the optimizer may request execution of non-expensive constant subqueries.
        Each place where the optimizer may potentially execute an expensive
        expression is guarded with the predicate Item::is_expensive().
      - The implementation of Item_subselect::is_expensive has been extended
        to use the number of examined rows (estimated by the optimizer) as a
        way to determine whether the subquery is expensive or not.
      - The new system variable "expensive_subquery_limit" controls how many
        examined rows are considered to be not expensive. The default is 100.
      
      In addition, multiple changes were needed to make this solution work
      in the light of the changes made by MWL#89. These changes were needed
      to fix various crashes and wrong results, and legacy bugs discovered
      during development.
      da521483
  27. 05 Mar, 2012 1 commit
    • unknown's avatar
      Fix for LP BUG#944504 · 8a5940c4
      unknown authored
      Problem is that subquery execution can't be called during prepare/optimize phase.
      
      Also small fix for subquery test suite.
      8a5940c4
  28. 02 Nov, 2011 1 commit
  29. 30 Jun, 2011 1 commit
  30. 10 May, 2011 1 commit
    • 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
  31. 08 May, 2011 1 commit
    • Michael Widenius's avatar
      Adding support for Dynamic columns (WL#34): · 5ab92b1f
      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
      5ab92b1f
  32. 03 Mar, 2011 1 commit
  33. 07 Feb, 2011 1 commit
    • Tor Didriksen's avatar
      Bug #59632 Assertion failed: arg_length > length · dcd9f246
      Tor Didriksen authored
      The problem was overflow in max_length when we tried to des_decrypt()
      something which is not the output of des_encrypt()
      
      
      mysql-test/r/ssl_and_innodb.result:
        New test case.
      mysql-test/t/ssl_and_innodb.test:
        New test case.
      sql/item_strfunc.h:
        Do not subtract the encrypt overhead (9U) if args[0] has length < 9
        (In unsigned arithmetic, (1-9) becomes a very large number)
      dcd9f246
  34. 17 Jan, 2011 1 commit
    • Alexander Barkov's avatar
      Bug#58371 Assertion failed: !s.uses_buffer_owned_by(this) with format string function · 6665ca25
      Alexander Barkov authored
      Introduced by the fix for bug#44766.
      
      Problem: it's not correct to use args[0]->str_value as a buffer,
      because args[0] may need this buffer for its own purposes.
      
      Fix: adding a new class member tmp_value to use as return value.
      
        @ mysql-test/r/ctype_many.result
        @ mysql-test/t/ctype_many.test
        Adding tests
      
        @ sql/item_strfunc.cc
        Changing code into traditional style:
        use "str" as a buffer for the argument and tmp_value for the result value.
      
        @ sql/item_strfunc.h
        Adding tmp_value
      6665ca25
  35. 13 Jan, 2011 1 commit
    • Martin Hansson's avatar
      Bug#58165: "my_empty_string" gets modified and causes LOAD DATA to fail and · 716b64cd
      Martin Hansson authored
      other crashes
      
      Some string manipulating SQL functions use a shared string object intended to
      contain an immutable empty string. This object was used by the SQL function
      SUBSTRING_INDEX() to return an empty string when one argument was of the wrong
      datatype. If the string object was then modified by the sql function INSERT(),
      undefined behavior ensued.
      
      Fixed by instead modifying the string object representing the function's
      result value whenever string manipulating SQL functions return an empty
      string.
      
      Relevant code has also been documented.
      716b64cd
  36. 10 Feb, 2011 1 commit
    • Alexander Barkov's avatar
      Bug#31384 DATE_ADD() and DATE_SUB() return binary data · 7d88b552
      Alexander Barkov authored
      Problem: DATE_ADD() is a hybrid function and can return
      DATE, DATETIME or VARCHAR data type depending on arguments.
      
      In case of VARCHAR data type, DATE_ADD() reported "binary" character set,
      which was wrong.
      
      Fix: make DATE_ADD() return @character_set_connection in VARCHAR context.
       @ mysql-test/include/ctype_numconv.inc
         Adding tests
       @ mysql-test/r/ctype_binary.result
         Adding tests
       @ mysql-test/r/ctype_cp1251.result
         Adding tests
       @ mysql-test/r/ctype_latin1.result
         Adding tests
       @ mysql-test/r/ctype_ucs.result
         Adding tests
       @ mysql-test/r/ctype_utf8.result
         Adding tests
       @ sql/item_strfunc.cc
        - Moving code from Item_str_ascii_func::val_str() to
        Item_str_func::val_str_from_val_str_ascii(), as
        this code needs to be shared by Item_date_add_interval.
        - Adding str2 parameter to be used as a buffer, instead of
         using private ascii_buf member.
       @ sql/item_strfunc.h
        - Moving code from Item_str_ascii_func::val_str() to
        Item_str_func::val_str_from_val_str_ascii()
        - Removing "String *val_str_convert_from_ascii(String *str, String *ascii_buf)"
          prototype as it was neither used nor declared.
       @ sql/item_timefunc.h
        - Overwriting parent's charset_for_protocol() method,
          becase we need to behave differenlty in VARCHAR and DATE/DATETYPE context.
        - Adding ascii_buf for conversion.
        - Adding val_str_ascii() prototype.
        - Adding val_str() which uses newly added
          Item_str_func::val_str_from_val_str_ascii(),
          passing ascii_buf as a conversion buffer.
      7d88b552
  37. 26 Nov, 2010 1 commit
    • Alexander Barkov's avatar
      Bug#57737 Character sets: search fails with like, contraction, index · e3dee8a7
      Alexander Barkov authored
      Problem: LIKE over an indexed column optimized away good results,
      because my_like_range_utf32/utf16 returned wrong ranges for contractions.
      Contraction related code was missing in my_like_range_utf32/utf16,
      but did exist in my_like_range_ucs2/utf8.
      It was forgotten in utf32/utf16 versions (during mysql-6.0 push/revert mess).
      
      Fix:
      The patch removes individual functions my_like_range_ucs2,
      my_like_range_utf16, my_like_range_utf32 and introduces a single function
      my_like_range_generic() instead. The new function handles contractions
      correctly. It can handle any character set with cs->min_sort_char and
      cs->max_sort_char represented in Unicode code points.
      
      added:
        @ mysql-test/include/ctype_czech.inc
        @ mysql-test/include/ctype_like_ignorable.inc
        @ mysql-test/r/ctype_like_range.result
        @ mysql-test/t/ctype_like_range.test
        Adding tests
      
      
      modified:
      
        @ include/m_ctype.h
        - Adding helper functions for contractions.
        - Prototypes: removing ucs2,utf16,utf32 functions, adding generic function.
        @ mysql-test/r/ctype_uca.result
        @ mysql-test/r/ctype_utf16_uca.result
        @ mysql-test/r/ctype_utf32_uca.result
        @ mysql-test/t/ctype_uca.test
        @ mysql-test/t/ctype_utf16_uca.test
        @ mysql-test/t/ctype_utf32_uca.test
        - Adding tests.
      
        @ strings/ctype-mb.c
        - Pad function did not put the last character.
        - Implementing my_like_range_generic() - an universal replacement
          for three separate functions
          my_like_range_ucs2(), my_like_range_utf16() and my_like_range_utf32(),
          with correct contraction handling.
      
        @ strings/ctype-ucs2.c
        - my_fill_mb2 did not put the high byte, as previously
          it was used to put only characters in ASCII range.
          Now it puts high byte as well
          (needed to pupulate cs->max_sort_char correctly).
        - Adding DBUG_ASSERT()
        - Removing character set specific functions:
          my_like_range_ucs2(), my_like_range_utf16() and my_like_range_utf32().
        - Using my_like_range_generic() instead of the old functions.
      
        @ strings/ctype-uca.c
        - Using generic function instead of the old character set specific ones.
      
        @ sql/item_create.cc
        @ sql/item_strfunc.cc
        @ sql/item_strfunc.h
        - Adding SQL functions LIKE_RANGE_MIN and LIKE_RANGE_MAX,
          available only in debug build to make sure like_range()
          works correctly for all character sets and collations. 
      e3dee8a7
  38. 20 Aug, 2010 1 commit
    • Alexander Barkov's avatar
      Bug#55912 FORMAT with locale set fails for numbers < 1000 · 84ee0a9f
      Alexander Barkov authored
      Problems:
      - dot character was always printed as decimal point
        instead of localized decimal point for short
        numbers without thousands
      - Item_func_format::val_str always returned values in ASCII
      format,
        regargless of @@character_set_connection, which in case of utf32
        led to crash in debug build, or to incorrect values in release build.
      
      Fix:
      - Adding a piece of code to replace dot character to
        localized decimal point in short numbers.
      - Changing parent class for Item_func_format to
        Item_str_ascii_func, because its val_str() implementation is heavily ASCII oriented.
      84ee0a9f
  39. 18 Aug, 2010 1 commit
    • Alexander Barkov's avatar
      Bug#45263 utf32_general_ci, bad effects around CREATE TABLE AS SELECT · 9452dd11
      Alexander Barkov authored
      Problem: Item_func_hex::val_str() returned data in ASCII format,
      which did not match collation.collation pointing to my_charset_utf32_general_ci.
      Fix: changing parent class of Item_func_hex to Item_str_ascii_func,
      as val_str() implementation is heavily ASCII-oriented.
      
        mysql-test/r/ctype_utf32.result
        mysql-test/t/ctype_utf32.test
        Adding test case
      
      
        sql/item_strfunc.cc
        sql/item_strfunc.h
        - Changing parent class to Item_str_ascii_func
        - Clean-up in Item_func_hex::fix_length_and_dec()
          Using fix_char_length() instead of setting max_length directly.
      9452dd11