Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						21ea14db8c 
					 
					
						
						
							
							MDEV-20593 SIGSEGV in report_json_error_ex (on optimized builds).  
						
						... 
						
						
						
						When first argument to the JSON_MERGE_PATCH was NULL and second - the
invalid JSON line, the error code was garbage. So it should be set to 0
initially. 
						
						
					 
					
						2020-10-22 15:51:14 +04:00 
						 
				 
			
				
					
						
							
							
								Alexander Barkov 
							
						 
					 
					
						
						
							
						
						30903c3743 
					 
					
						
						
							
							MDEV-22976 CAST(JSON_EXTRACT() AS DECIMAL) does not handle boolean values  
						
						... 
						
						
						
						Item_func_json_extract did not implement val_decimal(),
so CAST(JSON_EXTRACT('{"x":true}', '$.x') AS DECIMAL) erroneously
returned 0 with a warning because of convertion from the string "true"
to decimal.
Implementing val_decimal(), so boolean values are correctly handled. 
						
						
					 
					
						2020-06-22 15:43:53 +04:00 
						 
				 
			
				
					
						
							
							
								Monty 
							
						 
					 
					
						
						
							
						
						9cba6c5aa3 
					 
					
						
						
							
							Updated mtr files to support different compiled in options  
						
						... 
						
						
						
						This allows one to run the test suite even if any of the following
options are changed:
- character-set-server
- collation-server
- join-cache-level
- log-basename
- max-allowed-packet
- optimizer-switch
- query-cache-size and query-cache-type
- skip-name-resolve
- table-definition-cache
- table-open-cache
- Some innodb options
etc
Changes:
- Don't print out the value of system variables as one can't depend on
  them to being constants.
- Don't set global variables to 'default' as the default may not
  be the same as the test was started with if there was an additional
  option file. Instead save original value and reset it at end of test.
- Test that depends on the latin1 character set should include
  default_charset.inc or set the character set to latin1
- Test that depends on the original optimizer switch, should include
  default_optimizer_switch.inc
- Test that depends on the value of a specific system variable should
  set it in the test (like optimizer_use_condition_selectivity)
- Split subselect3.test into subselect3.test and subselect3.inc to
  make it easier to set and reset system variables.
- Added .opt files for test that required specfic options that could
  be changed by external configuration files.
- Fixed result files in rockdsb & tokudb that had not been updated for
  a while. 
						
						
					 
					
						2019-09-01 19:17:35 +03:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						cd16d6d518 
					 
					
						
						
							
							MDEV-13992 Implement JSON_MERGE_PATCH.  
						
						... 
						
						
						
						JSON_MERGE_PATCH implemented. Added JSON_MERGE_PRESERVE as a synonim for
the JSON_MERGE. 
						
						
					 
					
						2019-05-17 11:53:58 +04:00 
						 
				 
			
				
					
						
							
							
								Marko Mäkelä 
							
						 
					 
					
						
						
							
						
						f72760df33 
					 
					
						
						
							
							Add an end-of-tests marker to ease merges  
						
						
						
						
					 
					
						2019-03-12 14:20:01 +02:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						acb4a87204 
					 
					
						
						
							
							MDEV-18886 JSON_ARRAY() does not recognise JSON argument.  
						
						... 
						
						
						
						JSON_ARRAY and JSON_OBJECT functions with no arguments now get the
connection charset. Item_func_convert_charset returns the correct
is_json() flag. 
						
						
					 
					
						2019-03-12 01:09:55 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						b290ef8c76 
					 
					
						
						
							
							MDEV-17454 JSON_VALID( '{"a":1]' ) evaluates to 1.  
						
						... 
						
						
						
						Produce syntax error when '{...]'. 
						
						
					 
					
						2018-11-12 01:50:07 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						5cfb043d29 
					 
					
						
						
							
							MDEV-16174 Assertion `0' failed in Type_handler_string_result::make_sort_key(uchar*, Item*, const SORT_FIELD_ATTR*, Sort_param*)  
						
						... 
						
						
						
						maybe_null should be always set to TRUE in
Item_func_json_array_append::fix_length_and_dec() 
						
						
					 
					
						2018-11-09 22:55:34 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						f54485eadb 
					 
					
						
						
							
							MDEV-17001 JSON_MERGE returns nullwhen merging empty array.  
						
						... 
						
						
						
						Don't add the comma if nothing appended to the array. 
						
						
					 
					
						2018-09-13 13:42:09 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						a93363022c 
					 
					
						
						
							
							MDEV-17018 JSON_SEARCH and User-Defined Variables.  
						
						... 
						
						
						
						Item_func_json_search needs a member to store the path. 
						
						
					 
					
						2018-09-12 21:57:28 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						c8bb43a938 
					 
					
						
						
							
							MDEV-17121 JSON_ARRAY_APPEND.  
						
						... 
						
						
						
						Extra comma added to the result when an json array is empty. 
						
						
					 
					
						2018-09-11 14:37:45 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						4ddcb4eb46 
					 
					
						
						
							
							MDEV-16750 JSON_SET mishandles unicode every second pair of arguments.  
						
						... 
						
						
						
						The charset of temporary storage (Item_func_json_insert::tmp_js)
  was not properly set. 
						
						
					 
					
						2018-08-06 13:37:09 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						fc324a5f87 
					 
					
						
						
							
							MDEV-16869 String functions don't respect character set of JSON_VALUE.  
						
						... 
						
						
						
						Item_func_json_value::val_str() produced string of wrong charset. 
						
						
					 
					
						2018-08-05 18:33:17 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						f4eac2deeb 
					 
					
						
						
							
							MDEV-16054 simple json functions flatline cpu on garbage input.  
						
						... 
						
						
						
						Incorrect char sentence should be handled properly. 
						
						
					 
					
						2018-07-31 16:33:05 +04:00 
						 
				 
			
				
					
						
							
							
								Alexander Barkov 
							
						 
					 
					
						
						
							
						
						a8227a1543 
					 
					
						
						
							
							MDEV-16814 CREATE TABLE SELECT JSON_QUOTE(multibyte_charset_expr) makes a field of a wrong length  
						
						
						
						
					 
					
						2018-07-24 18:15:15 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						5ba6cee012 
					 
					
						
						
							
							MDEV-16209 JSON_EXTRACT in query crashes server.  
						
						... 
						
						
						
						The optimizer can create various item's over the original one,
    so we can't count on the exact item's type inside the comparison. 
						
						
					 
					
						2018-06-18 23:00:34 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						352c7e0dfa 
					 
					
						
						
							
							MDEV-15905 select json_value('{"b":true}','$.b')=1 --> false with  
						
						... 
						
						
						
						"Truncated incorrect DOUBLE value: 'true'".
JSON_VALUE_TRUE and JSON_VALUE_FALSE should be handled specifically
in Item_json_value. 
						
						
					 
					
						2018-06-17 17:15:21 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						d702e46390 
					 
					
						
						
							
							MDEV-15561 json_extract returns NULL with numbers in scientific notation.  
						
						... 
						
						
						
						Scientific notation handling fixed. 
						
						
					 
					
						2018-03-25 00:15:11 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						f0f3b6549a 
					 
					
						
						
							
							MDEV-13970 crash in Item_func_json_extract::read_json.  
						
						... 
						
						
						
						Item_func_json_extract::val_int fixed.
        It wasn't tested yet as it's called in exotic cases only. 
						
						
					 
					
						2017-12-25 08:10:48 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						842dce378a 
					 
					
						
						
							
							MDEV-14402 JSON_VALUE doesn't escape quote.  
						
						... 
						
						
						
						Result unescaping added. 
						
						
					 
					
						2017-11-16 19:59:27 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						1e2d4f677e 
					 
					
						
						
							
							MDEV-13971 crash in skip_num_constant.  
						
						... 
						
						
						
						Character bigger than 0x60 wasn't handled properly
        inside a numeric constant. 
						
						
					 
					
						2017-11-11 13:54:56 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						3557de68d1 
					 
					
						
						
							
							MDEV-12312 JSON_CONTAINS_PATH does not detect invalid path and returns  
						
						... 
						
						
						
						TRUE.
        Let's make empty brackets to be the syntax error in the JSON
        paths. 
						
						
					 
					
						2017-10-06 10:01:35 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						a3ba8c3660 
					 
					
						
						
							
							MDEV-13703 Illegal mix of collations for operation 'json_object' on  
						
						... 
						
						
						
						using JSON_UNQUOTE as an argument.
        The coercibility and repertoire should be set properly for the
        JSON_UNQUOTE. 
						
						
					 
					
						2017-10-06 09:28:33 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						f1a20ec396 
					 
					
						
						
							
							MDEV-12311 Insufficient check for argument validity in JSON functions.  
						
						... 
						
						
						
						Check validity to the end of the JSON in the json_length
        function. 
						
						
					 
					
						2017-10-05 23:46:25 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						1f6ada8da8 
					 
					
						
						
							
							MDEV-13306 JSON_CONTAINS returns wrong value.  
						
						... 
						
						
						
						The 'value' state should be saved to be compared against the
        next array item. 
						
						
					 
					
						2017-10-05 23:23:39 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						dc82f70e9f 
					 
					
						
						
							
							MDEV-13633 JSON_ARRAY() - bad output with some UTF8 characters.  
						
						... 
						
						
						
						set_charset() calls added for Item_func_json_arran
        and Item_func_json_object::val_str-s. 
						
						
					 
					
						2017-09-13 15:17:28 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						80a3837283 
					 
					
						
						
							
							MDEV-12877 Wrong result from JSON native function.  
						
						... 
						
						
						
						JSON_QUOTE return type set to be JSON. 
						
						
					 
					
						2017-09-12 19:15:31 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						825c8d793d 
					 
					
						
						
							
							MDEV-12774 JSON_EXTRACT fails with some escaped unicode as key.  
						
						... 
						
						
						
						Tests added. 
						
						
					 
					
						2017-09-12 17:30:46 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						0cd731864e 
					 
					
						
						
							
							MDEV-13104 Json functions.  
						
						... 
						
						
						
						An extra ',' added to the JSON_MERGE result making it invalid. 
						
						
					 
					
						2017-09-12 15:21:53 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						467acc2119 
					 
					
						
						
							
							MDEV-13324 JSON_SET returns NULL instead of object.  
						
						... 
						
						
						
						Superfluous ',' was added to the JSON_SET result so it became
        invalid. 
						
						
					 
					
						2017-09-12 14:40:18 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						594c6b37f3 
					 
					
						
						
							
							MDEV-13138 JSON_OBJECT returns null with strings containing backticks.  
						
						... 
						
						
						
						Condition was fixed. 
						
						
					 
					
						2017-09-12 13:26:03 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						6352ec2184 
					 
					
						
						
							
							MDEV-12982 JSON_EXTRACT returns data for invalid JSON.  
						
						... 
						
						
						
						Let's check the validity to the end of the JSON. 
						
						
					 
					
						2017-09-12 11:20:30 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						4bca34d8a4 
					 
					
						
						
							
							MDEV-12789 JSON_KEYS returns duplicate keys twice.  
						
						... 
						
						
						
						Check for duplicating keys added. 
						
						
					 
					
						2017-08-08 15:40:11 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						bb71d9abf2 
					 
					
						
						
							
							MDEV-12604 Comparison of JSON_EXTRACT result differs with Mysql.  
						
						... 
						
						
						
						Comparison fixed to take the actual type of JSON value into
        account. Bug in escaping handling fixed. 
						
						
					 
					
						2017-08-08 10:35:26 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						f701ac65e9 
					 
					
						
						
							
							MDEV-12324 Wrong result (phantom array value) on JSON_EXTRACT.  
						
						... 
						
						
						
						Fixed the path comparison. 
						
						
					 
					
						2017-08-07 13:46:45 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						3ea9d3e59e 
					 
					
						
						
							
							MDEV-12363 Assertion `0' failed in Type_handler_string_result::make_sort_key(uchar*, Item*, const SORT_FIELD_ATTR*, Sort_param*).  
						
						... 
						
						
						
						maybe_null wasn't properly set for Item_json_func_keys. 
						
						
					 
					
						2017-05-02 15:47:43 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						4a484e7a20 
					 
					
						
						
							
							MDEV-12351 Assertion `cur_step->type & JSON_PATH_KEY' failed in  
						
						... 
						
						
						
						json_find_path.
        The ..[0] path can be treated wrong on second json_find_path
        call. 
						
						
					 
					
						2017-05-02 15:16:01 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						42ad4f2821 
					 
					
						
						
							
							MDEV-12364 Server crashes in __memcpy_sse2_unaligned / String::copy on  
						
						... 
						
						
						
						JSON_SEARCH with variables.
        Wrong index for the tmp_paths array in
        Item_func_json_search::val_str. 
						
						
					 
					
						2017-05-02 14:28:57 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						76f6c1e1ed 
					 
					
						
						
							
							MDEV-12262 Assertion `!null_value' failed in virtual bool Item::send on  
						
						... 
						
						
						
						JSON_REMOVE.
        null_value wasn't properly set in Item_json_func_remove::val_str. 
						
						
					 
					
						2017-03-20 15:18:06 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						af6eee1fc5 
					 
					
						
						
							
							MDEV-11833 JSON functions don't seem to respect max_allowed_packet.  
						
						... 
						
						
						
						Now let's check JSON length to fit the max_allowed packet. 
						
						
					 
					
						2017-03-14 17:31:14 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						7c7c0696e7 
					 
					
						
						
							
							MDEV-11856 json_search doesn't search for values with double quotes  
						
						... 
						
						
						
						character (").
        The my_wildcmp function doesn't expect the string parameter to
        have escapements, only the template. So the string
        should be unescaped if necessary. 
						
						
					 
					
						2017-03-14 15:25:02 +04:00 
						 
				 
			
				
					
						
							
							
								Sergei Golubchik 
							
						 
					 
					
						
						
							
						
						6f6d0531dc 
					 
					
						
						
							
							MDEV-11439 No data type JSON, but CAST(something AS JSON) pretends to work  
						
						... 
						
						
						
						Use JSON_COMPACT(X) instead of CAST(X AS JSON).
Bonus - X is validated to be a valid JSON.
Fix a typo in the error message. 
						
						
					 
					
						2017-02-14 20:43:41 +01:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						f76d5fefb8 
					 
					
						
						
							
							MDEV-11439 No data type JSON, but CAST(something AS JSON) pretends to  
						
						... 
						
						
						
						work.
        json_detailed() fixed 
						
						
					 
					
						2017-02-14 17:51:03 +04:00 
						 
				 
			
				
					
						
							
							
								Sergei Golubchik 
							
						 
					 
					
						
						
							
						
						e1f0f0dd06 
					 
					
						
						
							
							Revert "MDEV-11439 No data type JSON, but CAST(something AS JSON) pretends to work"  
						
						... 
						
						
						
						This reverts commit 1f372cf1de 
						
						
					 
					
						2017-02-13 18:37:06 +01:00 
						 
				 
			
				
					
						
							
							
								Sergei Golubchik 
							
						 
					 
					
						
						
							
						
						1f372cf1de 
					 
					
						
						
							
							MDEV-11439 No data type JSON, but CAST(something AS JSON) pretends to work  
						
						... 
						
						
						
						remove CAST(... AS JSON) from the grammar for 10.2.4 
						
						
					 
					
						2017-02-13 18:19:02 +01:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						25aaecb240 
					 
					
						
						
							
							MDEV-11858 json_merge() concatenates instead of merging.  
						
						... 
						
						
						
						Fix json_merge implementation. 
						
						
					 
					
						2017-02-10 01:05:27 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						0e6968c244 
					 
					
						
						
							
							MDEV-11857 json_search() shows "Out of memory" with empty key.  
						
						... 
						
						
						
						We should be ready for an empty key. 
						
						
					 
					
						2017-02-09 17:38:53 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						abf7582112 
					 
					
						
						
							
							MDEV-11557 port MySQL-5.7 JSON tests to MariaDB.  
						
						... 
						
						
						
						Fixes for issues found. 
						
						
					 
					
						2017-02-06 06:47:48 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						d123ed852a 
					 
					
						
						
							
							MDEV-11938 json.json_no_table crashes or fails with valgrind warnings in json_find_path / Item_func_json_length::val_int.  
						
						... 
						
						
						
						Paths with quoted keynames handled improperly. 
						
						
					 
					
						2017-02-02 18:56:15 +04:00 
						 
				 
			
				
					
						
							
							
								Alexey Botchkov 
							
						 
					 
					
						
						
							
						
						d96ee168a1 
					 
					
						
						
							
							MDEV-11557 port MySQL-5.7 JSON tests to MariaDB.  
						
						... 
						
						
						
						paths ending on [0]..[0] should be handled in conforming manner. 
						
						
					 
					
						2017-01-26 16:35:05 +04:00