aboutsummaryrefslogtreecommitdiff
path: root/src/json.c
Commit message (Collapse)AuthorAge
...
* | Update json_each() and json_tree() so that they work with JSONB inputs.drh2023-09-29
| | | | | | FossilOrigin-Name: bb5e50ff56dff95d954aacdd4c5461790f953cef8d7b89da000d8d587fcdf9b8
* | The u.zJContent field of JsonNode for a string or label should NOT includedrh2023-09-29
| | | | | | | | | | | | the quotation mark delimiters. Ever. This is an inefficiency that really ought to be fixed on trunk, but that can wait until this branch lands. FossilOrigin-Name: 96f545f6f839dab4829861361ee3d7a56840217c5f954f334616e77d23c5fe29
* | Additional refactoring and cleanup.drh2023-09-29
| | | | | | FossilOrigin-Name: 45dd1760875b1ad899a10189c6f5a0a9a0677903794fb5a06ffacd39952a7882
* | Improvements to comments and procedure names for clarity in the JSONdrh2023-09-29
| | | | | | | | | | implementation. FossilOrigin-Name: 9b620d813ef483f1277c1683c5e926a882f07f3b90804dea0c91b325ff8e45a4
* | Describe the JSONB encoding in a header comment to the json.c source file.drh2023-09-29
| | | | | | FossilOrigin-Name: 1c0cba3461d6111b3aeb77726880221f1240355f0b57e060febbdeb12fb688c0
* | Fix some minor memory issues so that all legacy tests now pass.drh2023-09-28
| | | | | | FossilOrigin-Name: 1744bfc669346ff221f28d45fd978863e876a2d2f0b82bcf0e5ee6f0326900cc
* | Extract directly from BLOB is now complete and appears to work.drh2023-09-28
| | | | | | FossilOrigin-Name: 3de58ec99444b16dfcda1e226420e2343450b77abd3faf33a88b6d18339ef17c
* | Miscellaneous bugs fixed.drh2023-09-28
| | | | | | FossilOrigin-Name: 5c0815fa2e422d81198a43a2c04a022e319fcbcadfd4be4437f2e663892ca26b
* | Improvements to json_extract() to better support JSONB. Still not 100% working.drh2023-09-28
| | | | | | FossilOrigin-Name: 8c82576176539c4d132b14d46adbf31366c4bcaa59a61dd639dc9cc308fe8825
* | Work toward getting json_extract() to operate directly on the BLOB, omittingdrh2023-09-28
| | | | | | | | | | the translation into a JsonNode array. FossilOrigin-Name: c1feba70f55a8e5f4696d48e4706855415d173ac8ac3c2656787c242a883b4f5
* | Add in many jsonb_xxxx() interfaces. Still uses the internal JsonNodedrh2023-09-26
| | | | | | | | | | | | representation for transformations and search, but it does at least conform to the desired API design. Largely untested. FossilOrigin-Name: e6045b4e1bf3a8e33926fc12b3c039f5e1002eaecbe277ffa82b0ec271a29d17
* | When parsing JSON text into the BLOB format, only use node type JSONB_TEXTJdrh2023-09-25
| | | | | | | | | | for an unquoted object label if the object label contains escape sequences. FossilOrigin-Name: a82ebbac3c542ec7f86d1e8414d7fd166db48450115ee3b26d12b5bb445f5896
* | As a temporary measure, try to translate the BLOB JSON format into thedrh2023-09-25
| | | | | | | | | | legacy node format for processing. FossilOrigin-Name: 14f2e95a9e531ef0d3fa7f1249f23c073a50c31b2109eefc2f258cada635ac2f
* | Fix minor parse-to-BLOB bugs.drh2023-09-22
| | | | | | FossilOrigin-Name: 8b53b2e6600c324ff7864840d98a3f03896b9792fcb60b70cc1f6227b3bd4ca1
* | Add the ability to render a binary BLOB back into valid canonical JSON.drh2023-09-22
| | | | | | FossilOrigin-Name: 0b70cb77a4c8e3f17932f1ecca3942e0b0b03de637fb9656a130fe045f7ef826
* | Begin adding code to render binary JSON back into text. Very incomplete.drh2023-09-22
| | | | | | | | | | This is an incremental check-in. FossilOrigin-Name: b817dd865ed60fc4da0b662a9edec0fceb8921b02ce98133bdd565988939fd0f
* | Improvements to the JSON binary BLOB format design.drh2023-09-22
| | | | | | FossilOrigin-Name: 2c89ae5d02f6a40ef869e2a162e2c72871df60572b27959fd1d7171f495ce881
* | Reorganize the code to put the new JSONB routines together, for easier editing.drh2023-09-21
| | | | | | FossilOrigin-Name: dc23e783d4147d363856abe109586fc79a5b535b492beee0cf7a0234c0210667
* | Initial development code for an experimental binary BLOB encoding for JSON.drh2023-09-21
|/ | | FossilOrigin-Name: 8131b3c272f47db2618886046a9713285ce120cb87d721484ee7444273290681
* Fix a bug in json_array_length() introduced in version 3.43.0 bydrh2023-08-30
| | | | | | check-in [df099ad713011b67]. If the JSON input comes from json_remove(), the removed array entries are still counted as part of the array length. FossilOrigin-Name: 69a635958a4a14187e88dd297df8978a4805b1b0c7bff3ec29d5632c0f68d889
* Up until version 3.42.0, there was a bug in json_valid() such that it woulddrh2023-08-11
| | | | | | | return False (0) for a NULL input. That bug is fixed in 3.42.0. This check-in adds a compile-time option -DSQLITE_LEGACY_JSON_VALID that restores the old buggy behavior for applications that depend on it. FossilOrigin-Name: 15c2eadbff8e732cca45d6c3771d1fcea5aab2127e87f2a611b41ccfef4d1a0d
* Fix a bug in the jsonLookup() routine used to search JSON. Bug wasdrh2023-08-04
| | | | | | introduced by the recent (unreleased) JSON caching enhancements check-in [a4c1af616e672a0d] merged into trunk at [df099ad713011b67]. FossilOrigin-Name: ba7a66db13b28da0b41f03be825a593608474a5ebda89e12d58d89db709b8f65
* Fix harmless scan-build warnings.drh2023-08-03
| | | FossilOrigin-Name: 65a8716d8a1b7c5cffe9cdd25e4cbfa6528fcb146ff0fe67b0ce771b0537473d
* Performance optimization for JSON rendering logic.drh2023-08-02
| | | FossilOrigin-Name: ea0b9aecbaca9a8e784fd2bcb50f78cbdcf4c5cfb45a7700bb222e4cc104c644
* Do not allow the same JSON parse to be input to both arguments to thedrh2023-07-28
| | | | | json_patch() routine. FossilOrigin-Name: 8e781c6742792b3899ca60efc49c7eaee1df9f6b03d27c254b0e148b82946e19
* Switch to using jsonParseCached() for json_patch().drh2023-07-27
| | | FossilOrigin-Name: 2ed9c59e6a51037e63485d0a92dae25443116beddfca1ac73d2f5d5be38d4ad3
* If the input JSON to a json function that uses cache comes from an RCStrdrh2023-07-27
| | | | | value, then use that RCStr value in the parse rather than making a copy. FossilOrigin-Name: 509ae9c1470dd79d320e84371e1e6662fb85fa0571df5ed8c4d946d10cdfe821
* Fix a performance regression in JSON associated with generating smalldrh2023-07-27
| | | | | snippets of JSON from a larger JSON string. FossilOrigin-Name: 837f2907e10b026f6db1ca2d44b4bf60a6f069bf534bf369ad9b5c513cb0c6e4
* Reduce the number of memory allocations when parsing JSON.drh2023-07-26
| | | FossilOrigin-Name: 9edd67162113df57dae21d4683f9495611e2cf4717c6d12f5b7b8e44156d5fe3
* Minor changes to make coverage testing easier.drh2023-07-26
| | | FossilOrigin-Name: ec8b43382e5402e15d9f2dda3cf21ac8be8c1589ddbe6c9433c33eef0036f764
* Change a switch() case to default for coverage.drh2023-07-26
| | | FossilOrigin-Name: 04f497074b9210326030f36107a43d6490a2a59c8a574e2c5429cd9bde681bf7
* Make sure jsonReplaceNode() always leaves the JsonParse in a consistent ↵drh2023-07-26
| | | | | state even if an error is encountered. FossilOrigin-Name: 01d52232dd6fbd253e77419a17df3df83d49434792d288ef96e14739a89cef3b
* Change the debugging "json_parse(X)" function so that it shows a moredrh2023-07-26
| | | | | | | complete description of the JsonParse object on standard output and returns the mimified JSON. Former behavior was to return the text of a decode of the aNode array. FossilOrigin-Name: 1bf85d4e388714a88f8940dcdec353c3e0267456697eff6963d34637912aecc9
* More comment improvements in json.c. Do not run jsonLookup() followingdrh2023-07-26
| | | | | an OOM error. FossilOrigin-Name: cd5fda8c2e354da7458b7c1a82ff18c5946f8dab16095bb0293bec57f6804f17
* Improved comments and other cleanup for the changes on this branch.drh2023-07-26
| | | FossilOrigin-Name: bac953a80d1a541e7a12aef00c86c002133859237143ad670b39ea19799a8900
* Fix jsonForceRCStr() to also add the NULL terminator.drh2023-07-26
| | | FossilOrigin-Name: 134b01f37f8f741d7f7b7eda81384695d1cbe4c39751d87f08832d5c9afdcef2
* Extend the enhancement to json_set() and json_replace(). Clean up cruft.drh2023-07-26
| | | FossilOrigin-Name: 2dbb22c75e86f2e3ced38ac14b4943570d5c2f86cd5e37e875bf0c863be28836
* Add the JsonParse.zAlt field to old revised JSON text after a change.drh2023-07-26
| | | | | | | Demonstrate that this elminates the need for reparsing after a change by using it in the json_remove() function. This is an incremental check-in containing lots of cruft. FossilOrigin-Name: f930b139d6db0ee799bc90397b225175103c4bf22923d1c9cbcd32509adc1738
* Clarify ownership of the various objects involved in parsing JSON.drh2023-07-25
| | | FossilOrigin-Name: afe02a398a16d51bd7482b6fbe2fbd15d9ac4fd9cdbc9d2bf81f38b3391fc567
* Incremental improvements to JSON parsing - trying to fold in the RCStr object.drh2023-07-25
| | | FossilOrigin-Name: 4cb15d934a85ebc290fe6dd8cd3bd47b159561ca75d72bbffef30b9ea4623b09
* Fix a minor problem with error reporting in JSON.drh2023-07-25
| | | FossilOrigin-Name: c456e4a8999066cd96246327101b3cca78294511a71a2ac07939bb702bfcb5f4
* Create the new RCStr class of strings and try to use them for JSON storage.drh2023-07-25
| | | FossilOrigin-Name: c1b8725089bb3d006ec69add28f4fcb3f4e79412c7f438b5b1067c2227e77b9c
* It is an error to try to insert a BLOB value into JSON.drh2023-07-24
| | | FossilOrigin-Name: 28c6e964b1e2257527df02b352f02e135f7c4b764b8b41eda6461f9538f5d042
* Clean up some #defines in json.drh2023-07-24
| | | FossilOrigin-Name: 327fff501e36f75d4901c520123c5ca45e0e0da1d9cc8fa8fa877ceb68c686d2
* Rework the JSON parse structure to facilitate better caching. Passes alldrh2023-07-24
| | | | | tests. FossilOrigin-Name: ecdcb1ded76e9a0591bf7a2009679f49fc3aa639d3cc12406c6d29243ed8e1c5
* Incremental progress toward improved caching of parsed JSON.drh2023-07-24
| | | FossilOrigin-Name: f2c063884685a79d5a787590447c292f51e898a98c9508159c788f505227ba85
* Merge the latest trunk enhancements into the json-opt branch.drh2023-07-24
|\ | | | | FossilOrigin-Name: 00bfc4918be49ac74a3e7851c88ab7ec226e6a37853f8ad4c77f758751960456
| * Further improvements to large string handling in relation to JSON.drh2023-07-21
| | | | | | FossilOrigin-Name: 1e5df0aa3dae5cadbf1d07c718ae2a5212543300b68e49d35e8c96855a7f619c
| * Multiple optimizations that try to preserve or infer the zero-terminateddrh2023-07-21
| | | | | | | | | | | | | | property of TEXT values. Avoid unnecessary copying of text values destined to become function parameters. All changes help improve performance of doing UPDATEs on large JSON values that are indexed multiple ways. FossilOrigin-Name: d0278cdedfa04fb0b61838ab9622be8a2c462f58d5c3ebc4c5f802a727d0974e
* | More infrastructure changes towards improving JSON cache performance.drh2023-07-21
| | | | | | | | | | Incremental check-in. FossilOrigin-Name: 1955e66cfc4614df97b8d68b0e662f309513d62dc8aeec71af5a54e66b79c707