/ File History
Login

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

History of ext/misc/json1.c

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