summaryrefslogtreecommitdiff
path: root/strings
Commit message (Collapse)AuthorAgeFilesLines
* MDEV-11562 Assertion `js->state == JST_VALUE' failed in ↵Alexey Botchkov2016-12-161-18/+5
| | | | | | | | check_contains(json_engine_t*, json_engine_t*). check_contains() fixed. When an item of an array is a complex structure, it can be half-read after the end of the recursive check_contains() call. So we just manually get to it's ending.
* MDEV-11470 JSON_KEYS accepts arguments in invalid format.Alexey Botchkov2016-12-131-5/+7
| | | | Now JSON functions return warnings if arguments are invalid.
* cleanup: my_strerrorSergei Golubchik2016-12-121-2/+3
|
* MDEV-11453 JSON_CONTAINS returns incorrect values.Alexey Botchkov2016-12-111-0/+7
| | | | The weird logic of json_contains was implemented.
* MDEV-11469 JSON_SEARCH returns incorrect results.Alexey Botchkov2016-12-091-26/+42
| | | | Support for '**' in json path expressions added.
* MDEV-11461 JSON_TYPE does not recognize integer/double types.Alexey Botchkov2016-12-051-0/+16
| | | | Integer/Double recognition added.
* MDEV-11463 Server crashes in mark_array upon JSON_VALID.Alexey Botchkov2016-12-031-9/+29
| | | | The depth of nested arrays should be controlled, as it's limited.
* fix build and some warningskevg2016-11-242-40/+0
|
* MDEV-9143 JSON_xxx functions.Alexey Botchkov2016-11-151-2/+4
| | | | | The rest of mysql/json functions implemented. CAST AS JSON implemented.
* MDEV-11255 LDML: allow defining 2-level UCA collationsAlexander Barkov2016-11-082-83/+106
|
* MDEV-9143 JSON_xxx functions.Alexey Botchkov2016-10-193-5/+1569
| | | | | strings/json_lib.c added as a JSON library. SQL frunction added with sql/item_jsonfunc.h/cc
* MDEV-7769 MY_CHARSET_INFO refactoring# On branch 10.2Alexander Barkov2016-10-1018-239/+16
| | | | Part 3 (final): removing MY_CHARSET_HANDLER::well_formed_len().
* MDEV-10877 xxx_unicode_nopad_ci collationsAlexander Barkov2016-09-231-23/+518
|
* MDEV-9711 NO PAD collationsAlexander Barkov2016-09-0620-333/+4080
| | | | Based on the patch from Daniil Medvedev (a Google Summer of Code task)
* MDEV-10743 LDML: a new syntax to reuse sort order from another 8bit simple ↵Alexander Barkov2016-09-063-22/+118
| | | | collation
* MDEV-10742 LDML: make conf_to_src reuse common data between collationsAlexander Barkov2016-09-052-3225/+227
|
* LDML refactoring for "MDEV-9711 NO PAD collations"Alexander Barkov2016-09-034-53/+82
| | | | | | | | | | | - Moving detection of the MY_CS_CSSORT, MY_CS_PUREASCII, MY_CS_NONASCII flags of loadable collations from add_collation() in mysys.c to my_cset_init_8bit() and my_coll_init_simple() in ctype-simple.c. - Adding tests that these flags are set properly for loadable collations - Moving LDML test related *.xml files from mysql-test/std_data/ to mysql-test/std_data/ldml/, as there will be more *.xml test files
* Merge branch '10.1' into 10.2Sergei Golubchik2016-06-304-124/+11817
|\
| * MDEV-8686 A user defined collation utf8_confusables doesn't workAlexander Barkov2016-06-231-21/+146
| | | | | | | | | | | | | | | | The collation customization code for the UCA (Unicode Collation Alrorithm) based collations now allows to reset to and shift of characters with implicit weights. Previously reset/shift worked only for the characters with explicit DUCET weights. An attempt to use reset/shift with character with implicit weights made the server crash.
| * MDEV-10262 ucs2_thai_520_w2: wrong implicit weights on the secondary levelAlexander Barkov2016-06-211-21/+77
| |
| * Adding collationsmasterAlexander Barkov2016-05-302-18/+181
| | | | | | | | utf8mb4_thai_520_w2, ucs2_thai_520_w2, utf16_thai_520_w2, utf32_thai_520_w2
| * Clean-ups for MDEV-10132 utf8_thai_520_w2 collation:Alexander Barkov2016-05-261-1/+1
| | | | | | | | | | - Changing strnxfrm_multiply from 8 to 4, as agreed with Pruet Boonma - Adjusting tests
| * Multi-level collation in UCA, Thai sorting with contraction for UTF8.pruet2016-05-262-74/+11411
| |
| * Updating uca-dump.c to be able to dump weights outside of BMP.Alexander Barkov2016-05-181-12/+31
| |
* | str2decimal: don't return a negative zeroSergei Golubchik2016-06-301-0/+2
| |
* | ull2dec: exact calculation of the precisionSergei Golubchik2016-06-301-2/+1
| |
* | parse negative numbers into one itemSergei Golubchik2016-06-301-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | use Item->neg to convert generate negative Item_num's instead of Item_func_neg(Item_num). Based on the following commit: Author: Monty <monty@mariadb.org> Date: Mon May 30 22:44:00 2016 +0300 Make negative number their own token The negation (-) operator will call Item->neg() one underlying numeric constants and remove itself (like the NOT() function does today for other NOT functions. This simplifies things - -1 is not anymore an expression but a basic_const_item - improves optimizer - DEFAULT -1 doesn't need special handling anymore - When we add DEFAULT expressions, -1 will be treated exactly like 1 - printing of items doesn't anymore put braces around all negative numbers Other things fixed: - Fixed that longlong converted to decimal's has a more appropriate size - Fixed that "-0.0" read into a decimal is interpreted as 0.0
* | Fixed compiler warnings and test failures found by buildbotMonty2016-06-242-3/+3
| | | | | | | | Fixed ccfilter to detect errors where the column is included in the error message
* | MDEV-10138 Support for decimals up to 38 digitsMonty2016-06-222-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Decimals with float, double and decimal now works the following way: - DECIMAL_NOT_SPECIFIED is used when declaring DECIMALS without a firm number of decimals. It's only used in asserts and my_decimal_int_part. - FLOATING_POINT_DECIMALS (31) is used to mark that a FLOAT or DOUBLE was defined without decimals. This is regarded as a floating point value. - Max decimals allowed for FLOAT and DOUBLE is FLOATING_POINT_DECIMALS-1 - Clients assumes that float and double with decimals >= NOT_FIXED_DEC are floating point values (no decimals) - In the .frm decimals=FLOATING_POINT_DECIMALS are used to define floating point for float and double (31, like before) To ensure compatibility with old clients we do: - When storing float and double, we change NOT_FIXED_DEC to FLOATING_POINT_DECIMALS. - When creating fields from .frm we change for float and double FLOATING_POINT_DEC to NOT_FIXED_DEC - When sending definition for a float/decimal field without decimals to the client as part of a result set we convert NOT_FIXED_DEC to FLOATING_POINT_DECIMALS. - variance() and std() has changed to limit the decimals to FLOATING_POINT_DECIMALS -1 to not get the double converted floating point. (This was to preserve compatiblity) - FLOAT and DOUBLE still have 30 as max number of decimals. Bugs fixed: variance() printed more decimals than we support for double values. New behaviour: - Strings now have 38 decimals instead of 30 when converted to decimal - CREATE ... SELECT with a decimal with > 30 decimals will create a column with a smaller range than before as we are trying to preserve the number of decimals. Other changes - We are now using the obsolete bit FIELDFLAG_LEFT_FULLSCREEN to specify decimals > 31 - NOT_FIXED_DEC is now declared in one place - For clients, NOT_FIXED_DEC is always 31 (to ensure compatibility). On the server NOT_FIXED_DEC is DECIMAL_NOT_SPECIFIED (39) - AUTO_SEC_PART_DIGITS is taken from DECIMAL_NOT_SPECIFIED - DOUBLE conversion functions are now using DECIMAL_NOT_SPECIFIED instead of NOT_FIXED_DEC
* | General spell fixing in comments and stringsOtto Kekäläinen2016-06-082-3/+3
| |
* | MDEV-6353 my_ismbchar() and my_mbcharlen() refactoringAlexander Barkov2016-05-1717-186/+17
| |
* | MDEV-9823 LOAD DATA INFILE silently truncates incomplete byte sequencesAlexander Barkov2016-04-063-0/+8
| |
* | Updating conf_to_src.c according to the current CHARSET_INFO structure.Alexander Barkov2016-04-051-4/+4
| |
* | MDEV-8360 Clean-up CHARSET_INFO: strnncollsp: diff_if_only_endspace_differenceAlexander Barkov2016-03-319-183/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Removing the "diff_if_only_endspace_difference" argument from MY_COLLATION_HANDLER::strnncollsp(), my_strnncollsp_simple(), as well as in the function template MY_FUNCTION_NAME(strnncollsp) in strcoll.ic - Removing the "diff_if_only_space_different" from ha_compare_text(), hp_rec_key_cmp(). - Adding a new function my_strnncollsp_padspace_bin() and reusing it instead of duplicate code pieces in my_strnncollsp_8bit_bin(), my_strnncollsp_latin1_de(), my_strnncollsp_tis620(), my_strnncollsp_utf8_cs(). - Adding more tests for better coverage of the trailing space handling. - Removing the unused definition of HA_END_SPACE_ARE_EQUAL
* | Removing my_strnncoll_mb_bin() and my_strnncollsp_mb_bin(),Alexander Barkov2016-03-251-87/+0
| | | | | | | | | | as they are not used any more. We now use function templates from strcoll.ic instead.
* | Merge branch '10.1' into 10.2Sergei Golubchik2016-03-231-1/+1
|\ \ | |/
| * Merge branch '10.0' into 10.1Sergei Golubchik2016-03-211-1/+1
| |\
| | * Fix spelling: occurred, execute, which etcOtto Kekäläinen2016-03-041-1/+1
| | |
* | | Removing duplicate code: sharing implementation of "strnxfrm"Alexander Barkov2016-03-233-68/+46
| | | | | | | | | | | | between gbk_chinese_ci and big5_chinese_ci.
* | | Removing unused code in ctype-bin5.cAlexander Barkov2016-03-231-48/+0
| | |
* | | Fixing compilation warnings introduced in:Alexander Barkov2016-03-233-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | > commit e09299511e83f11f7476f7ea6c81ee12b00d7050 > Author: Alexander Barkov <bar@mariadb.org> > Date: Wed Mar 16 10:55:12 2016 +0400 > > MDEV-9665 Remove cs->cset->ismbchar() > Using a more powerfull cs->cset->charlen() instead.
* | | MDEV-9665 Remove cs->cset->ismbchar()Alexander Barkov2016-03-1615-137/+9
| | | | | | | | | | | | Using a more powerfull cs->cset->charlen() instead.
* | | Merge branch '10.1' into 10.2Sergei Golubchik2016-02-252-13/+17
|\ \ \ | |/ /
| * | MDEV-7231 Field ROUTINE_DEFINITION in INFORMATION_SCHEMA.`ROUTINES`Alexander Barkov2016-02-241-12/+16
| | | | | | | | | | | | contains broken procedure body when used shielding quotes inside.
| * | Fixes needed to compile with musl C libraryMonty2016-02-071-1/+1
| | | | | | | | | | | | Patch originally by Codarren Velvindron
* | | Adding "const" qualifier to the argument of decimal_actual_fraction().Alexander Barkov2016-01-141-1/+1
|/ /
* | Merge branch '10.0' into 10.1Sergei Golubchik2015-12-212-1/+2
|\ \ | |/
| * MDEV-9265 SuSE patches: Suspicious implicit sign extensionAlexander Barkov2015-12-151-1/+1
| |
| * Merge branch '5.5' into 10.0Sergei Golubchik2015-12-132-1/+2
| |\
| | * MDEV-8407 Numeric errors, server crash with COLUMN_JSON() on DECIMAL with ↵Oleksandr Byelkin2015-12-101-1/+2
| | | | | | | | | | | | | | | | | | precision > 40 In fact it was error in decimal library (incorrect processing of buffer overflow) invisible from other server parts because of buffer allocation and precision tests.