aboutsummaryrefslogtreecommitdiff
path: root/src/json.c
Commit message (Collapse)AuthorAge
* Fix straggler misspellings and tidy the custom dictionary. Also include ↵larrybr2023-06-07
|\ | | | | | | | | pickups from [forum:/info/c61fb09afd|forum post c61fb09afd]. FossilOrigin-Name: 8c291d99946eb32b20b743921202f9c7cfb716268ff526817b27adbb7942e40b
* | Add a C-source spell-checking facility. make misspell (on Nix)larrybr2023-06-07
|/ | | FossilOrigin-Name: 26c1bb4bd9e9f56613c3aa87407a7f562fd4ebde5bfd6dece02078001d9a45f8
* Ensure that the label for a JSON object really is a string and not an arraydrh2023-05-08
| | | | | | or object that just happens to end with a string. dbsqfuzz 32f62ed8676d0a153dbe756aeae3202d3670fe50. FossilOrigin-Name: c335737c2889722ea05b732a5efff8a2f31140c18ca038c41e05c2a26e0db5bd
* Fix a comment in the JSON logic. No code changes.drh2023-05-05
| | | FossilOrigin-Name: 3f30ea5ec9d849c64d8c38f4fffbc06c749ecff91ab90bc29b3a3cc9ec5b9df0
* Reduce the maximum depth of nesting in json objects to 1000.dan2023-05-05
| | | FossilOrigin-Name: c7697a0d45bfab20ec09f17ad65e375ddb43af6762278481c13a65c9a784978e
* Improved detection of excess recursion on arrays and objects in the JSONdrh2023-05-03
| | | | | parser. Fixes a problem detected by dbsqlfuzz. FossilOrigin-Name: d40fd5924adaa8d6b1dd6b9a4087f64d496cf60096ae11c9229c59309c0d4844
* Allow for lower-case "nan" to mean NaN in JSON.drh2023-05-02
| | | FossilOrigin-Name: 6bee0a19e2efb6e39097fb22602556791d3d3962c50a1a0471c39a0c61db632e
* Improved handling of NULL arguments to json_valid() anddrh2023-05-02
| | | | | json_error_position(). [forum:/forumpost/06c6334412|Forum post 06c6334412]. FossilOrigin-Name: ab78e6946ba8125a83ff155561adf9c8df4d1c09a645fce08c8245ddb08bfa3b
* Fix harmless compiler warnings.drh2023-05-01
| | | FossilOrigin-Name: 342af5b4fa0bd7c699e5497161db13d0cf795c7a5875ae30d666122e518f213b
* Fix harmless compiler warnings.drh2023-05-01
| | | FossilOrigin-Name: 0a926994691ccb02ea4f0ba3c2e8f728871ae67d24c705fbc0f7af81f38d5f47
* Fix abbreviated paths for objects such that they work even if the objectdrh2023-05-01
| | | | | key begins with '$'. FossilOrigin-Name: 1b991c78141a9915ae9350ecb347a758e50d7d25c8a0f4cc098ae10d47c27043
* Fix a problem with json_patch() when one side or the other is JSON5.drh2023-04-30
| | | | | dbsqlfuzz bc10593a4ba8e7a7862593532285be31f00f8e41 FossilOrigin-Name: e18c0899cc774f6f20d2a73381fa3ab3af9355cf4d108c7612db259eadbb8b96
* Accept the full ECMAScript 5.1 IdentifyName syntax for keys in objects.drh2023-04-30
| | | FossilOrigin-Name: 9be2c87518b33713210e3e2fa56924888e19415c71329141d18150b275f6f25e
* All JSON to understand floating point literals "Inf" and "QNaN" and "SNaN" indrh2023-04-30
| | | | | | any case, without the SQLITE_EXTENDED_NAN_INF compile-time option. This extension is always available. FossilOrigin-Name: fb551145e0d84213b3343dc1bc7db70c898b9dea24a72b968240617f4b52d821
* Omit the json_valid() function. Change the name of json_error() todrh2023-04-30
| | | | | | json_error_position(). Use "NOT json_error_position(X)" as a substitute for "json_valid5(X)". FossilOrigin-Name: 34c4e900a9cc51630eeaf01deef74bf5b18d66e0ab1dc61a2023ac8f837a5197
* More ALWAYS() macros.drh2023-04-29
| | | FossilOrigin-Name: 770b09f7a795956be63a06847059370db8dfc88654878d742b7b826947029962
* Add ALWAYS macros on unreachable branches in the new JSON5 logic.drh2023-04-29
| | | FossilOrigin-Name: 91e15ed9d93e51b750172a074dbbcf206128e9476571ce6189b8ea0ba5ab4135
* Simplification of the logic that normalizes JSON5 integer literals intodrh2023-04-29
| | | | | canonical JSON integer literals. Improved reporting of OOM. FossilOrigin-Name: 01ee613c07fcb87e7d7b7f1b1387982715d1343418f37f4a1dc90e43a76d20e8
* Do not allow leading zeros on non-zero numeric literals in JSON.drh2023-04-29
| | | FossilOrigin-Name: 3e91494390ba88498eb243f61ce4ef4efa23b58326108a769bc72331d7d7d75b
* Minor fixes to to the JSON% parser.drh2023-04-29
| | | FossilOrigin-Name: 2fe684cdcdc3cab4ec3348ca5aa5948e4472c562b739c29faebcb77397f8d969
* Correctly recognize an isolated U+feff as a space character in JSON5.drh2023-04-29
| | | FossilOrigin-Name: 4473dc8e3ad18bb6185ed4a819baf881a7d26ac74bc70fae6ba23a0030be8316
* Bug fixes in the logic to skip over JSON5 comments.drh2023-04-28
| | | FossilOrigin-Name: c736b77a2fc5f8f2ba8f770adf05443dfdc3a9847ee519f411e661f76756d611
* Bug fix in the offset computation for json_error().drh2023-04-28
| | | FossilOrigin-Name: 8f7ab5d9210490eb451534df246b82081a5aa252a1bd662659df3da429290837
* Improvements to the accuracy of json_error(). Add the extension SQLdrh2023-04-28
| | | | | functions random_json(SEED) and random_json5(SEED). FossilOrigin-Name: 8d09dc1c45a8026b94f70273d064e47939f30cadedc17548b5a26ba054a8d3a7
* Add the json_error(X) function that returns the 1-based character offset todrh2023-04-28
| | | | | the first syntax error in JSON5 string X, or 0 if there are no errors. FossilOrigin-Name: 901ad995d5a722ca2672516205ff488e9acd703a828ca5fc43f11fca5f2af120
* Fix json_tree() so that it is able to deal with the JNODE_RAW labels ofdrh2023-04-28
| | | | | a JSON5 object. FossilOrigin-Name: f56528d413d8e622f7c4f18b2f9f2e620bfb441c020461299b35a90072ee6c13
* Test cases added, and some bugs fixed.drh2023-04-27
| | | FossilOrigin-Name: bc84a82e4ddc1b71025c56c49e62a44f0b12fa87a6417ad61967d9d3121a0d4e
* Further optimizations to the JSON parser.drh2023-04-27
| | | FossilOrigin-Name: bb8f1c16f244f893170f3d03bc445bd15fc337804c7c3e76c548397f5b95b39a
* Faster implementation of numberic literal parsing in JSON.drh2023-04-27
| | | FossilOrigin-Name: 58398292e8473b0b9e4b77dd5ed27334bc24a85d0c399e8d0b86de6fb59dadce
* Add support for hexadecimal integer literals in JSON.drh2023-04-27
| | | FossilOrigin-Name: 85e00c9e68d0695592e8f72555ee133c096bfca5a860a8e21d1e0ef756705aaf
* All floating point literals "NaN" and "Infinity". Additional variantsdrh2023-04-27
| | | | | of these literals are available if compiled with SQLITE_EXTENDED_NAN_INF. FossilOrigin-Name: c13346afbecb92275e741252897d00478dab4be2d158889bc735e80efd9444f5
* Fix handling of reverse solidus in string literals. Allow decimal pointsdrh2023-04-27
| | | | | in floating point literals to occurs and the beginning or end of the mantissa. FossilOrigin-Name: d92a6ab2871095ac66c60cfa15dbafa7b762f83d287d452f61792eb30cf5b26b
* Fix the handling of escape solidus in the JSON routines.drh2023-04-27
| | | FossilOrigin-Name: 676877aca235e620ee12d10235dd6ad009d4968455ec170daeb1998b94a7e0a2
* JSON string literals may span multiple lines by escaping new line characters.drh2023-04-27
| | | FossilOrigin-Name: 66da4bd4a30c390fa1a7960ce2edaef82e63971ecf33ffb6b906db9f278041c5
* Allow the labels on JSON objects to be unquoted identifier names.drh2023-04-27
| | | FossilOrigin-Name: fb428db3f64f148ab9a3478fdcc8b3733e58102b3c8895a482e2551d974d5661
* Performance optimization in the JSON parser.drh2023-04-27
| | | FossilOrigin-Name: 5a88ba743f55d45b1c0ce0090bb3b396bcf7fcf7b3bcb989aaf30b8bb772599e
* Permit JSON5 whitespace in all contexts of objects and arrays.drh2023-04-27
| | | FossilOrigin-Name: 93f3ab26b57c0469862a56e97d4b3c796b27f9f582046fcff1f2aa8d8910c550
* Translate JSON5-only string literal escape sequences into the JSON equivalents.drh2023-04-27
| | | FossilOrigin-Name: 14e82f36eed31af1237898728bf353b968523c62b1f8d1d90dbbabd92d0c2834
* Implement some of the JSON5 enhancements to string and numeric literals.drh2023-04-26
| | | | | This is an incremental check-in of work in progress. FossilOrigin-Name: 9508efa9d61c0ff0eb73100dd52889dadc5fa2a2091b944a9b8a74e8a5c50e82
* Partial implementation of JSON5 numeric literal extensions. Use a switch()drh2023-04-26
| | | | | statement in the parser for better performance. FossilOrigin-Name: 78404dc37024cad5fe7eacf78ea85b56f08b129a1b9a046c3e1b11275068a485
* Work toward implementing JSON5 whitespace. Untested and incomplete.drh2023-04-26
| | | FossilOrigin-Name: d262c059455ebe0650a45a6c1c04d1baf9609c635df352732dd192426e1bdc39
* The json_valid() function only returns true for pure JSON. JSON5 (ordrh2023-04-25
| | | | | | | | at least that subset of JSON5 that has been so far implemented) is accepted by all routines, but json_valid() still returns false for JSON5 inputs. The new json_valid5(X) routine returns true or false if X is or is not valid JSON5. All of this is experimental and subject to change. FossilOrigin-Name: 5d33ab77800765c8b3a13ffcc02ba8a348d71b2b425924560418b517d723494d
* Allow trailing commas in objects and arrays of JSON.drh2023-04-24
| | | FossilOrigin-Name: 4031b231c223db598b45dbd192b027a99a9b82a981d43c75f723a3fb06720b82
* More off-by-one errors in the new JSON parsing.drh2023-04-02
| | | FossilOrigin-Name: dbc99662087b63c9ed5b398535a6091fc2c5e507907dd1fcb7ad0b6ab3f17144
* Fix an off-by-one error in the recognition of -Infinity.drh2023-04-02
| | | FossilOrigin-Name: f7ebf3e6286ddc8cdaa9446235407785d1be2be2d9992e21ef59fcd655f68432
* Allow special floating-point value names in JSON: "inf", "-inf", "infinity",drh2023-04-01
| | | | | | | "-infinity", "nan", "qnan", and "snan". All are converted into valid JSON values: 9e999, -9e999, or null. Requires the SQLITE_ENABLE_JSON_NAN_INF compile-time option to operate. FossilOrigin-Name: fc8793e5acac7351749e360c6bace5d5a8b3de3aa600ae23e260557db650c461
* Fix json rendering so that it shows positive and negative infinity asdrh2023-03-17
| | | | | 9.0e+999 and -9.0e+999 respectively. FossilOrigin-Name: efce4690a52592c4f5fc7d023eebe771b0e615bb03c0fe203493f853b28e8f85
* The json_group_array(), json_group_object(), and fts5_source_id() functionsdrh2023-01-20
| | | | | should all be deterministic and innocuous. FossilOrigin-Name: edcb83fa0d3c832d044b267d608fed31a2ac841b81c7c9406b2136ac43d61a1a
* Update virtual tables json_each and json_tree so that adding "ORDER BY ↵dan2023-01-17
| | | | | rowid" to a query does not require an external sort. FossilOrigin-Name: ce18f0ed684824e67ed6c09acab8e735fef2c52b2ed32270dee1a2a67802c59b
* When constructing the JSON Path for the "fullpath" column of thedrh2022-04-04
| | | | | | json_tree() and json_each() table-valued functions, be sure to quote object labels where necessary. FossilOrigin-Name: 0fbbe7881cadf0b3c211653c7a0797e0a90c7c24da78ecc8a27140c05f89f2ed