/ History for ext/misc/json1.c
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History for ext/misc/json1.c

2020-05-17
13:47
[3a42e323] part of check-in [69e149f7] Avoid harmless UB in memcpy() in the JSON extension. (check-in: [69e149f7] user: drh branch: trunk, size: 76792)
2020-01-07
19:45
[2d44e3fa] part of check-in [4c21373c] Create the "trusted_schema" pragma. Add sqlite3_vtab_config() calls to set the risk rank for many virtual tables. (check-in: [4c21373c] user: drh branch: new-security-options, size: 76771)
2020-01-04
01:43
[3005cd7c] part of check-in [9ca906d2] Enhance PRAGMA function_list so that it shows all instances of each FuncDef, the number of arguments, the encoding, the type, and the flags. Use this capability to locate and fix incorrect function flags in the standard build. (check-in: [9ca906d2] user: drh branch: new-security-options, size: 76719)
2019-11-22
17:37
[760107d0] part of check-in [35ed68a6] Extend the json-path mechanism with array indexes of the form "#" or "#-n" for some positive number "n", to reference the end of an array. (check-in: [35ed68a6] user: drh branch: json-path-enhancement, size: 76695)
2019-11-10
11:09
[b4a8074e] part of check-in [51027f08] Proper surrogate pair decoding added to JSON functions. See the mailing list bug report and https://bugs.python.org/issue38749. More test cases needed here, but it seems to work so far. (check-in: [51027f08] user: drh branch: trunk, size: 75853)
2019-09-21
17:31
[66ccdfa6] part of check-in [8ea1dc72] Fix harmless compiler warnings. (check-in: [8ea1dc72] user: drh branch: trunk, size: 74783)
2019-09-14
00:21
[06195086] part of check-in [f464d847] Fix the windows inverse function on the JSON aggregates. (check-in: [f464d847] user: drh branch: trunk, size: 74774)
2019-09-13
17:05
[5e94e787] part of check-in [af1bc20f] Change the meaning of the SQLITE_SUBTYPE flag so that it indicates that the user-defined function cares about the subtypes of its arguments. (check-in: [af1bc20f] user: dan branch: window-functions-subtype-fix2, size: 74558)
2019-09-07
18:20
[5a2525f7] part of check-in [6aa438ce] Add the SQLITE_SUBTYPE flag, which can be passed to sqlite3_create_function() and similar to indicate to the core that a user function is likely to use sqlite3_result_subtype(). (check-in: [6aa438ce] user: dan branch: window-functions-subtype-fix, size: 74549)
2019-07-31
12:13
[71ce4e39] part of check-in [f237f60e] Do not allow the json_set() function to overwrite the same element more than once. (check-in: [f237f60e] user: drh branch: trunk, size: 74559)
2019-06-17
14:50
[c99b5f04] part of check-in [45bfcb88] Fix a problem with handling with handling quoted path elements in extension functions json_set() and json_insert() reported on the mailing list. (check-in: [45bfcb88] user: dan branch: trunk, size: 74510)
2019-01-08
20:02
[8af4672f] part of check-in [ca67f2ec] Use 64-bit math to compute the sizes of memory allocations in extensions. (check-in: [ca67f2ec] user: drh branch: trunk, size: 74508)
2018-11-16
16:04
[3f017d26] part of check-in [3f34f4f5] Fix the JSON table-valued functions to make use of SQLITE_CONSTRAINT. (check-in: [3f34f4f5] user: drh branch: trunk, size: 74502)
2018-11-05
23:01
[b0fba11c] part of check-in [31942b3d] Initial code to make shadow tables read-only to ordinary SQL. The now xShadowName method is added to the sqlite3_module object and is used to identify potential shadow tables. The SQLITE_PREPARE_SHADOW argument to sqlite3_prepare_v3() is defined. It is designed to permit writing to shadow tables, but is currently an unused placeholder. (check-in: [31942b3d] user: drh branch: read-only-shadow, size: 73440)
2018-09-12
01:05
[276f87dc] part of check-in [78862252] Fix some harmless compiler warnings seen with MSVC. (check-in: [78862252] user: mistachkin branch: trunk, size: 73346)
2018-08-30
01:52
[34a31eac] part of check-in [58078c0d] Improved JSON parser caching. (check-in: [58078c0d] user: drh branch: trunk, size: 73318)
2018-07-24
13:57
[696c596d] part of check-in [fe19f823] Add missing SQLITE_OMIT_WINDOWFUNC check to the json1 extension. (check-in: [fe19f823] user: mistachkin branch: trunk, size: 72748)
2018-07-09
22:49
[933ace99] part of check-in [5023b1b8] Fixes for various harmless compiler warnings. (check-in: [5023b1b8] user: drh branch: trunk, size: 72710)
2018-07-07
20:23
[f5dc3b29] part of check-in [4b8cfe7b] Fix the JSON extension so that it can be compiled separately from the amalgamation. (check-in: [4b8cfe7b] user: drh branch: trunk, size: 72666)
19:47
[0af57bdc] part of check-in [fdef2a92] Add ALWAYS() macros on results of sqlite3_aggregate_context() calls in xInverse() implements, since they can never fail. (check-in: [fdef2a92] user: drh branch: trunk, size: 72646)
2018-07-05
20:05
[8dca18a6] part of check-in [916cdc83] Get the json_group_array() and json_group_object() SQL functions working as window functions. (check-in: [916cdc83] user: drh branch: trunk, size: 72515)
2018-05-16
12:19
[02f5f0d9] part of check-in [b45b1885] Correct output for the fullkey column of json_each() when the total JSON input is a simple value, not an array or object. (check-in: [b45b1885] user: drh branch: trunk, size: 70958)
2017-05-11
16:49
[dbe08661] part of check-in [44ca6c2c] Cache the JSON parse used by json_extract(). (check-in: [44ca6c2c] user: drh branch: auxdata-cache, size: 70930)
2017-04-14
14:50
[bd3bbdef] part of check-in [6bf67376] Make USE_FULLWARN=1 the default for MSVC and fix harmless compiler warnings. (check-in: [6bf67376] user: mistachkin branch: trunk, size: 69404)
2017-04-13
00:12
[e54799e8] part of check-in [8e7b6118] Fix a regression caused by the fix for ticket [6c9b5514077fed34551f98e64c09a1] - control characters allowed in JSON. (check-in: [8e7b6118] user: drh branch: trunk, size: 69404)
2017-04-11
18:55
[18d80526] part of check-in [1f68c184] Limit the depth of recursion for valid JSON in the JSON1 extension in order to avoid using excess stack space in the recursive descent parser. Fix for ticket [981329adeef51011052667a9]. (check-in: [1f68c184] user: drh branch: trunk, size: 69369)
2017-04-10
12:25
[70d49f69] part of check-in [475d8f82] Change the JSON extension so that it disallows control characters inside of strings. Fix for ticket [6c9b5514077fed34551f98e64c09a10dc2fc8e16]. (check-in: [475d8f82] user: drh branch: trunk, size: 68826)
2017-04-08
18:18
[312b4ddf] part of check-in [204e72f0] Disallow leading zeros on numeric constants in JSON. Fix for ticket [b93be8729a895a528e2] (check-in: [204e72f0] user: drh branch: trunk, size: 68774)
2017-03-25
12:08
[92b9e404] part of check-in [32be9c3f] Fix two harmless compiler warnings. (check-in: [32be9c3f] user: drh branch: trunk, size: 68925)
2017-03-24
19:45
[f963c2b8] part of check-in [c2c3dd84] Fix a harmless compiler warning in the JSON1 extension. (check-in: [c2c3dd84] user: drh branch: trunk, size: 68903)
12:35
[52f93b91] part of check-in [9d535041] Fix an error in the new json_patch() routine discovered by Ralf Junker. (check-in: [9d535041] user: drh branch: trunk, size: 68903)
2017-03-23
20:33
[c065914b] part of check-in [04d41004] Change the name of the json_merge_patch() function to just json_patch(). (check-in: [04d41004] user: drh branch: json_mergepatch, size: 68557)
12:56
[dbb168b0] part of check-in [4a8e6437] Avoid redundant edits in the json_merge_patch() function. (check-in: [4a8e6437] user: drh branch: json_mergepatch, size: 68562)
00:46
[bae7cfb4] part of check-in [5d2cf5a2] Fix harmless compiler warnings in the new json_merge_patch() logic. (check-in: [5d2cf5a2] user: drh branch: json_mergepatch, size: 68572)
00:13
[8a8ba23a] part of check-in [f49fd255] Various fixes to the json_merge_patch() function. (check-in: [f49fd255] user: drh branch: json_mergepatch, size: 68572)
2017-03-22
21:45
[be1032c5] part of check-in [53bf70f3] Change the name of the new function to "json_merge_patch()". (check-in: [53bf70f3] user: drh branch: json_mergepatch, size: 68358)
21:24
[ca27a98c] part of check-in [a2674440] Initial implementation of the json_mergepatch(A,B) SQL function. (check-in: [a2674440] user: drh branch: json_mergepatch, size: 68358)
2017-01-25
13:54
[552a7d73] part of check-in [0803390c] Fix SQLITEINT_H macro usage in two extensions. (check-in: [0803390c] user: drh branch: trunk, size: 65222)
2016-11-23
20:31
[f2ff73bb] part of check-in [6492e57e] Fix OOM error reporting in the json1_group_object() SQL function. Remove an unreachable branch from the JSON1 logic. (check-in: [6492e57e] user: drh branch: branch-3.15, size: 65227)
2016-11-07
18:18
[e0797ef1] part of check-in [b5409849] Fix OOM error reporting in the json1_group_object() SQL function. Remove an unreachable branch from the JSON1 logic. (check-in: [b5409849] user: drh branch: trunk, size: 65224)
15:15
[b8aa1219] part of check-in [145cd13e] Replace some unreachable branches from the JSON1 extension with assert(). (check-in: [145cd13e] user: drh branch: trunk, size: 65233)
13:37
[813a2ff1] part of check-in [7a635391] Fix the JSON1 extension so that the JSON validator correctly rejects malformed backslash escapes within string literals. (check-in: [7a635391] user: drh branch: trunk, size: 65236)
2016-08-01
17:06
[9799e425] part of check-in [90d2c490] Fix other harmless compiler warnings. (check-in: [90d2c490] user: drh branch: trunk, size: 64761)
2016-06-17
13:01
[d51a764b] part of check-in [2c3714ae] Add the json_quote() function to the JSON1 extension. (check-in: [2c3714ae] user: drh branch: json_quote, size: 64739)
2016-02-11
15:37
[b9c88d5c] part of check-in [cfe2eb88] Add JSON1 and FTS5 to the set of extensions subject to close compiler warning analysis. Fix some warnings in each. More (harmless) warnings still exist in FTS5. (check-in: [cfe2eb88] user: drh branch: trunk, size: 64197)
2016-02-05
01:55
[a27cf1ec] part of check-in [c3ef0347] Improvements to the way that OOM errors are processed. (check-in: [c3ef0347] user: drh branch: oom-handling, size: 64038)
2016-02-04
10:28
[8698ea0c] part of check-in [4f1b5229] Escape control characters in JSON. Fix for ticket [ad2559db380abf8]. (check-in: [4f1b5229] user: drh branch: trunk, size: 63998)
2016-01-01
00:15
[7b1155f5] part of check-in [6e30f8c6] Remove unreachable branches from the new JSON aggregate functions. (check-in: [6e30f8c6] user: drh branch: trunk, size: 63134)
2015-12-30
01:07
[b7ed42db] part of check-in [7f386a93] Add the json_group_array() and json_group_object() aggregate functions to the JSON1 extension. (check-in: [7f386a93] user: drh branch: trunk, size: 63178)
2015-10-16
15:35
[4f45afd9] part of check-in [bc9a9a60] Fix the JSON1 extension so that it does not depend on isdigit() and strtod() from the standard library when compiled into SQLite as part of the amalgamation. (check-in: [bc9a9a60] user: drh branch: trunk, size: 60015)
15:16
[d559a00d] part of check-in [28957d63] Form-feed is not valid whitespace for json. Fix for ticket [57eec374ae1d0a1d] (check-in: [28957d63] user: drh branch: trunk, size: 59584)
2015-10-14
18:45
[fed5b948] part of check-in [8463f7e7] Avoid exporting sqlite3_json_init() from amalgamation builds. (check-in: [8463f7e7] user: dan branch: dll-build-fix, size: 59584)
2015-10-12
22:20
[d3102209] part of check-in [7f896a97] Fix a couple harmless compiler warnings. (check-in: [7f896a97] user: mistachkin branch: trunk, size: 59557)
2015-10-10
14:00
[e827cb31] part of check-in [de28acd4] Add some #ifdef-ery to json1.c to avoid a duplicate typedef when used in the amalgamation, since some compilers become upset over duplicate typedefs. (check-in: [de28acd4] user: drh branch: trunk, size: 59557)
2015-10-09
20:40
[b169036e] part of check-in [4a47f017] The previous fix to JSON1 was not complete. A few more tweaks are needed for correct handling of all oversized integers. (check-in: [4a47f017] user: drh branch: trunk, size: 59395)
18:21
[2b26b004] part of check-in [ae736e35] Fix the JSON1 extension so that it renders integers outside the range of -9223372036854775808 to +9223372036854775807 as floating-point numbers. (check-in: [ae736e35] user: drh branch: trunk, size: 59317)
2015-10-08
19:29
[e1822098] part of check-in [d820a1bd] First attempt to add json1 and fts5 to the amalgamation. This check-in does not compile. (check-in: [d820a1bd] user: drh branch: amalg-json1-fts5, size: 58680)
2015-09-26
17:44
[263cac02] part of check-in [33404b20] Enable adding JSON1 by appending the json1.c source file to the amalgamation and compiling with -DSQLITE_ENABLE_JSON1 (check-in: [33404b20] user: drh branch: trunk, size: 58555)
2015-09-24
01:40
[557d6b2d] part of check-in [c43daa8c] Another (smaller) performance optimization for the JSON parser. (check-in: [c43daa8c] user: drh branch: trunk, size: 58481)
01:06
[7d0000e3] part of check-in [7dd4b07a] Performance optimizations on the JSON parser. (check-in: [7dd4b07a] user: drh branch: trunk, size: 58450)
2015-09-23
01:10
[7659013d] part of check-in [7c7a3f3e] Do not allow a comma at the end of a JSON array or object. (check-in: [7c7a3f3e] user: drh branch: trunk, size: 56505)
2015-09-22
01:15
[8eefcbdc] part of check-in [fcb1e327] Futher simplifications to json1.c. Also an obscure bug-fix in the initial output of json_tree() when using a path to an object contained within an array. (check-in: [fcb1e327] user: drh branch: trunk, size: 56443)
00:21
[c5e7018b] part of check-in [0f160416] Fix json_set() so that it can overwrite a value that was previously overwritten during the same call. (check-in: [0f160416] user: drh branch: trunk, size: 56494)
2015-09-21
22:53
[54f067ea] part of check-in [1646a2bd] Simplifications to the json1.c logic. (check-in: [1646a2bd] user: drh branch: trunk, size: 56142)
2015-09-19
18:54
[a1f7dd9b] part of check-in [394b81b1] Fix a memory leak in json1.c that could occur after misuse of json_object(). (check-in: [394b81b1] user: drh branch: trunk, size: 56149)
11:57
[d96049b4] part of check-in [d2a02737] Fix an off-by-one error (really off-by-2 in this case) in the buffer resize logic of json1. (check-in: [d2a02737] user: drh branch: trunk, size: 56148)
2015-09-17
17:21
[4b1048a7] part of check-in [6713e35b] Avoid passing (signed char) values directly to isspace(), isalnum() or isdigit() in json1.c. Cast the value to (unsigned char) first. (check-in: [6713e35b] user: dan branch: trunk, size: 56116)
2015-09-11
18:05
[f35d00fb] part of check-in [bfc7b84b] Fix harmless compiler warnings. (check-in: [bfc7b84b] user: mistachkin branch: trunk, size: 55792)
00:06
[96490b8e] part of check-in [8a80d645] Take out the goofy '$$' path syntax. Instead, use subtypes to communicate when a string is JSON. Add the json() function that validates and minifies the JSON and sets the appropriate subtype. (check-in: [8a80d645] user: drh branch: subtypes, size: 55702)
2015-09-10
17:20
[4387d091] part of check-in [127cce3e] Create separate "path" and "root" columns in the json_each() and json_tree() virtual tables. "Root" is the 2nd parameter and is fixed. "Path" varies as json_tree() walks the hierarchy. (check-in: [127cce3e] user: drh branch: trunk, size: 56724)
03:29
[46c2aff1] part of check-in [6adc7de7] Fix the json_tree() scan for the case when a path is supplied. Add new json1 test cases. (check-in: [6adc7de7] user: drh branch: trunk, size: 56598)
2015-08-29
19:41
[bd51e8c1] part of check-in [1da60c3d] Enhance the json_extract() function so that if given multiple PATH arguments it will return a JSON array with all of the answers. Also update comments within the json1 extension to reflect stricter interpretation of JSON and PATH arguments. (check-in: [1da60c3d] user: drh branch: trunk, size: 56187)
17:22
[5f39a87b] part of check-in [752918de] Fix the build with -DSQLITE_OMIT_VIRTUALTABLE. (check-in: [752918de] user: drh branch: trunk, size: 55646)
16:02
[232a3125] part of check-in [fd19ff02] Do not consider an empty string to be valid JSON. Add some additional JSON test cases. (check-in: [fd19ff02] user: drh branch: trunk, size: 55495)
00:54
[063bf62f] part of check-in [3aa0855f] Change the json1.c module so that it throws an error if any of the JSON selector paths are malformed. (check-in: [3aa0855f] user: drh branch: trunk, size: 55494)
2015-08-28
20:07
[aa344845] part of check-in [dc9ce7b1] Back out the json_check() routine. Instead, throw an error if the input to a json function (other than json_valid()) is not valid JSON. (check-in: [dc9ce7b1] user: drh branch: trunk, size: 52935)
03:48
[0b2bf3f2] part of check-in [64abb65d] Add the json_check() function, which returns its argument if the argument is well-formed JSON or which throws an error otherwise. (check-in: [64abb65d] user: drh branch: trunk, size: 53162)
03:33
[e0aeaa8b] part of check-in [44f103d8] Enhance the json_insert(), json_replace(), and json_set() functions with the ability to add JSON instead of text if the argument is text and if the PATH begins with '$$' instead of just '$'. (check-in: [44f103d8] user: drh branch: trunk, size: 52503)
2015-08-24
12:42
[541004e4] part of check-in [196d66d3] Improvements to JSON string dequoting. (check-in: [196d66d3] user: drh branch: trunk, size: 51818)
02:32
[443f8b54] part of check-in [f0aba0e1] Fix corner-case problems in the type and atom columns of json_each() and json_tree(). (check-in: [f0aba0e1] user: drh branch: trunk, size: 52050)
2015-08-23
20:44
[4b66d2ce] part of check-in [cc520414] Fix minor glitches in the json1.c extension, mostly having to do with OOM behavior. (check-in: [cc520414] user: drh branch: trunk, size: 52030)
02:42
[31bc1bab] part of check-in [fc1b24f3] Fixes to json_each() and json_tree(). Improved json_parse() debugging output. (check-in: [fc1b24f3] user: drh branch: trunk, size: 51968)
2015-08-22
19:39
[88273dda] part of check-in [380a9734] Add the json_valid() function to the json1.c extension. Fix various minor problems in the json1.c extension. (check-in: [380a9734] user: drh branch: trunk, size: 51939)
03:05
[2eae688e] part of check-in [213a6c5c] Fix a couple instances of OOM handling in the json extension. (check-in: [213a6c5c] user: drh branch: trunk, size: 50300)
2015-08-21
20:37
[f83f02ec] part of check-in [9ff6ccde] Fixes for compiler warnings and errors in the makefiles. Rename the one test script to json101.test. (check-in: [9ff6ccde] user: drh branch: json, size: 50246)
20:12
[92bb4e5f] part of check-in [d0d4bec9] Change the name of the json loadable extension to "json1.c", in anticipation of having future major changes to the interface. (check-in: [d0d4bec9] user: drh branch: json, size: 49705) Renamed from ext/misc/json.c