aboutsummaryrefslogtreecommitdiff
path: root/src/tokenize.c
Commit message (Collapse)AuthorAge
* Fix an issue with sqlite3_normalized_sql() caused by changes needed todrh2025-02-01
| | | | | support SQLITE_DBCONFIG_ENABLE_COMMENT. FossilOrigin-Name: 79d287a39443f2d098fcc24199627555a656b34aa5bf5d484f91cb513d83e143
* Add the SQLITE_DBCONFIG_ENABLE_COMMENTS setting (default on) to enable ordrh2025-01-31
| | | | | disable the ability to include comments in SQL input text. FossilOrigin-Name: 393749a2e22d5c8eba36e2106a35909420aa6316652d1ab4f18ef699247b6fba
* Add the SQLITE_PREPARE_DONT_LOG option for sqlite3_prepare_v3(), that preventsdrh2024-12-06
| | | | | errors in the compilation of the SQL from being sent to sqlite3_log(). FossilOrigin-Name: 870403425493866232cf9e8fa62288861b7d0a4091b15d75727f8bb31da46f94
* Add extra checks for the validity of a numeric literal to ↵dan2024-01-23
| | | | | sqlite3DequoteNumber(). FossilOrigin-Name: d57407ef59baf699b72c8c4859abfaa7977dd41f6f16eb8fe1d53a68806eb966
* Allow underscores to occur in hex literals.dan2024-01-22
| | | FossilOrigin-Name: 81a56229460cc5b6acfd3c3729fcf89ea3cccb546ca2b4f4035b140c60911e18
* Add extra tests for the code on this branch.dan2024-01-22
| | | FossilOrigin-Name: b15bbb201a7727806b9fd6c02f2579b01e0e38155a8f9e24c5d6f487fe3e8b6c
* Do not allow digit separators that are not surrounded on both sides by digits.drh2024-01-22
| | | FossilOrigin-Name: 5bbc378a3022e2013048c8e296d95de21d15a8d7c1b62e8ffb64782f952cfe12
* Add test cases for the new code on this branch.dan2024-01-20
| | | FossilOrigin-Name: 49f29a7b4f44f691ecf7a57b26477971e6ffaf2a0b1690b4926ffbb43fa3929b
* Allow "_" characters to appear following any digit in an integer or real SQL ↵dan2024-01-20
| | | | | literal. FossilOrigin-Name: 401650aaccbc99246bd4e1ff37a28b78f528178aee2f294d87b9f7fecd7432bb
* New testcase() macro in the tokenizer, to better document its behavior.drh2023-08-10
| | | FossilOrigin-Name: b2fdac0b151864eb2aa79f0b0ee60f9c6d9f3eb8c7626605eac17a02a8cf59bc
* Small performance improvement and size reduction by recognizing that nodrh2023-06-19
| | | | | SQL keywords have less than 2 characters. FossilOrigin-Name: 6b3d25b7982623ab4b25161aff9ab44778e136069043ab425543597c42c98ae5
* Add the new internal interface sqlite3DbNNFreeNN(db,ptr) where both thedrh2022-08-22
| | | | | | | db and ptr parameters are guaranteed to be non-NULL. Use this where appropriate to save more than 2 million CPU cycles on the standard performance test. FossilOrigin-Name: e5eaa80e81fdf86f2875a912b880272b8d099b82b08e945a7988c5dd0fe9d6b5
* Ensure that the Parse.nErr flag is set following an SQLITE_TOOBIG error ondrh2022-07-11
| | | | | | | | a nested parse. Fix for the problem identified by [forum/forumpost/d5a82ba9eedee30c | forum post d5a82ba9eedee30c]. Also, remove unnecessary clearing of the Parse.zErrMsg field following a nested parse. FossilOrigin-Name: 44d77a7f807f5dc3e94e6cd88a27bea79257f0f2ccf332891bdaa4668d0bb987
* Use sqlite3DbFreeNN() instead of sqlite3DbFree() in a few hot spots fordrh2022-03-28
| | | | | better performance. FossilOrigin-Name: b12de0ecc78a4f654c8e7b2b17cc2201688808a4f516908e9563a216677e655c
* Provide sqlite3_error_offset() data for some new errors.drh2022-02-08
| | | FossilOrigin-Name: 1269206db810460e55a52e178ba3332add42a11f66c5f292f8f0d29ccd61a4b8
* Add new binary operators "->" and "->>" to the parser that evaluate todrh2022-01-07
| | | | | | 2-argument SQL functions by the same name. Add new "->" and "->>" functions to the JSON extension that are aliases for json_extract(). FossilOrigin-Name: c4e4e3a3fc5da0381ccb7930706e57d7831d87f9c63bafe49ae64117701e1cfe
* Simplify the sqlite3RunParser() routine by omitting the third parameter.drh2021-12-31
| | | | | Results in a binary that is about 100 bytes smaller and 1.4M cycles faster. FossilOrigin-Name: 6fb2a1bb0280d6e31291e3fd06bbcbbb28ef5fb27d3898e2327a50ac738ae1f3
* Performance optimization and size reduction in sqlite3RunParser().drh2021-12-31
| | | FossilOrigin-Name: 41ee2bac5731d8434322e92abba580f7c759a137e576dd286fe01ab23fc440ea
* Fix a problem causing an OOM within an ALTER TABLE ADD COLUMN command that ↵dan2021-11-16
| | | | | adds a column with a CHECK constraint to go unreported. FossilOrigin-Name: a33f5e93ecb7d84291f6fecc7b60f0c555034aa47e24584c63c78d8a94710d82
* Treat byte-order marks (BOMs) at the start of a token as whitespace.drh2021-04-24
| | | | | | This enhancement is inspired by [forum:/forumpost/ed8f696a20|forum post ed8f696a20]. FossilOrigin-Name: 3d55c21c167631f42d155aadec544e629bd078de9992aa5a74694d08bc52052b
* Fix tokenizer's classification of EBCDIC newline.larrybr2021-03-19
| | | FossilOrigin-Name: 8680f6a8fb34b9c0ea9b4286888b4df5df427d2df10c782d198bc3f2fdcd0704
* Add a linked list of ParseCleanup objects to the end of a Parse object anddrh2021-01-11
| | | | | | | use that list as a place to put other sub-objects that need to be deallocated. Have a single such list for infrequently used sub-objects is more efficient than doing an a separate check for each kind of sub-object. FossilOrigin-Name: affa2b7b316941b8a6c4d0d1ff212c81a593faf1d05d129e14d2b70d73a25c59
* Improve the speed of the tokenizer by recognizing that tokens startingdrh2020-11-27
| | | | | | with letters "_", "Y", or "Z" can never be SQL keywords and must be ordinary identifiers. FossilOrigin-Name: 16e281ed6219cc229dec7e3f1b40da2304dc270a74fd6ef78d04a088e30e7026
* Fix harmless compiler warnings that surface in newer versions of GCC.drh2020-08-10
| | | FossilOrigin-Name: 9d670a318381f219b467653f5f9539097808b887ae37291ce13be462dedfb18d
* Use __atomic_load_n() and __atomic_store_n() for a few more things where ↵dan2020-03-30
| | | | | they are available. FossilOrigin-Name: a49f8ec552bede7da731e0571ccf49de1a30e7be3a5673150436c8b411ba6ffc
* Enhancements to SQL query normalization for UPDATE statements.mistachkin2019-10-16
| | | FossilOrigin-Name: bba975c7af3de9aeb5c62fb8b05d61b96e4ecd0b030008442bbdd345e1e5f134
* Fix a harmless compiler warning that only comes up during debug builds.drh2019-02-26
| | | FossilOrigin-Name: 848869ced988ca4d0ac76d43f984360fd11997a580719cccf8d55becea4e8fb1
* Give the sqlite3 object a pointer to the current Parse so that if an OOMdrh2019-02-08
| | | | | | occurs, it can automatically set the Parse.rc value to SQLITE_NOMEM. This avoids a frequent extra test of db.mallocFailed in the innermost parser loop. FossilOrigin-Name: 5c6638040b3017c6be016441422d965a3ca00dd6ae1f78cadc0b54562978f64e
* Fix harmless compiler warning.mistachkin2019-02-02
| | | FossilOrigin-Name: dddda685f3443d8a38901f758543fcde73d7b8cfe72b0ad5f419cd7459343bf5
* Improvements to "PRAGMA parser_trace=ON": Make it a flag pragma, and thendrh2019-01-31
| | | | | use the flag to show the complete SQL text at the beginning of the parse. FossilOrigin-Name: 507c43537f00d089efb3c3020fb6e826e8f89f3efa2caaa12c5309d35dd0c22e
* Further refinements to the sqlite3_normalized_sql() interface. TH3 nowdrh2018-12-10
| | | | | gives 100% MC/DC on that interface. FossilOrigin-Name: c96bf6cca220e363b099455ce35195ce7e89d374a52dc787f56e7b11e587bced
* Fix issues with the new normalizer.drh2018-12-10
| | | FossilOrigin-Name: 057d7d40c56b7416a59a79cb627b2b3e5837eca2d6dbcb50127baaadf1941f51
* Refactor the sqlite3_normalized_sql() implementation. This is adrh2018-12-10
| | | | | work-in-progress. There are still issues. FossilOrigin-Name: a4c890b0af9786295e6df05022009d8946550adb873535c610be805c2b7a4083
* Add the sqlite3_normalized_sql() API.mistachkin2018-10-29
| | | FossilOrigin-Name: 592b66e8058dd03a056a036e2606247c9efdb06d15eebe9bcc455f7f55e30ae6
* Extend RENAME TABLE to edit triggers and views. Still buggy.dan2018-08-29
| | | FossilOrigin-Name: 01308bae3acf33f78b5bb90892085eab340df093aafc17e6ccf6a7d6cf324897
* Additional fixes for harmless compiler warnings that are specific to thisdrh2018-08-18
| | | | | branch. FossilOrigin-Name: 9d8e73bf71e996b810959ffc0e60de69b5e8ca3301df52f9c35d5e9075921798
* Edit the WHEN and UPDATE OF clauses of trigger programs as part of ALTER TABLEdan2018-08-13
| | | | | RENAME COLUMN. FossilOrigin-Name: 5fdb6b0aafba727139e1937ef5950e4434a77f95a10fc46f8010ca2de3922326
* Experimental implementation of ALTER TABLE ... RENAME COLUMN. Still buggy.dan2018-08-09
| | | FossilOrigin-Name: fa0fc01eb48a864f0a3d43f9b805d5ed2e530846ee0c34fcbc2eabd9e5696277
* Fixes for various harmless compiler warnings.drh2018-07-09
| | | FossilOrigin-Name: 5023b1b85b883a716a5da673740b6effe214ee0490f4ca45f161bb8b04784366
* Fix a minor problem in the code for determining whether or not an SQLdan2018-06-30
| | | | | statement is SQLITE_TOOBIG. FossilOrigin-Name: 763e6c9e2bbc0a6ef8d8361069bf7160790c9064f24f0e336b7ed85668735da9
* Have the tokenizer handle fallback for tokens "OVER" and "FILTER" in the samedan2018-06-30
| | | | | way as it does for "WINDOW". FossilOrigin-Name: 12d819e1c17d8036900352b0989c4bfcbc34193c3735bb9af7ab051f0f129d3d
* Further performance related tweaks for sqlite3RunParser().dan2018-06-29
| | | FossilOrigin-Name: 5eb4776598f5bba7ef21a2c58c03105544da73d642d7ffc146f84eff1993d71e
* Further tweaks to sqlite3RunParser().dan2018-06-29
| | | FossilOrigin-Name: eef61ffab7fa36b126f57bf7028dd35c67ed4617c47145be059f91e58023b0a4
* Improve on the previous checkin. Still a bit slow.dan2018-06-29
| | | FossilOrigin-Name: c1fb41aa7b7207b81ee1d5d32da3380b36d694033b87a2873981e0c6437ba956
* Instead of using a lemon %fallback directive, have the tokenizer try to figuredan2018-06-29
| | | | | out whether an instance of "WINDOW" should be TK_WINDOW or TK_ID. FossilOrigin-Name: 022079cb0d67be5ac0a50dd9a4d41ee55ce8df681ecd0a544170d75fc8649978
* Improved context for error_log message coming from sqlite3_prepare().drh2018-06-21
| | | FossilOrigin-Name: fea7ade649ae72303078782f7bc510e0a17f082ffde10e769f1aeb1cf37b5554
* Add the %extra_context directive to lemon, as an alternative to %extra_argument.drh2018-04-21
| | | | | Use this to improve the performance of the parser. FossilOrigin-Name: be47a6f5262a43f477700579512fe7112a0872faedcbbe5c3383d13a08af6440
* Compute the correct column name even if the column identifier is thedrh2018-01-10
| | | | | | | very last token in the SQL statement. This fixes a problem introduced by check-in [0fdf97efe5df745510c6b] and reported by the community during beta-testing. FossilOrigin-Name: 36b89d728ff13d395fe0e1db8e7c01263f73dccb278b3ece27f6ef78e909b492
* Split off sqlite3DbFreeNN() from sqlite3DbFree() and use it in cases wheredrh2017-04-05
| | | | | we know that the argument to be freed is never NULL. FossilOrigin-Name: ad90e8bb5e47945607c8fb47b6ade8cfc52a9b684805cc40132629be0ecc14cc
* Declare the Lemon-generated parser object as itself. (Duh)drh2017-03-30
| | | FossilOrigin-Name: c8000e94cca59dabf83d6cb75b40441aaf793d29880582dc4baa17246449b5fe