aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Fix the comment on the implementation of the pi() SQL function. No changesdrh2021-04-16
| | | | | to code. FossilOrigin-Name: 5620bd466eb10fd4daf51af9b88d8221f981dc0ceabfa84a0e1d5c817f635429
* Do not invoke sqlite3ExprAffinity() if there is a possibility that the Exprdrh2021-04-16
| | | | | | is incomplete due to a prior OOM. dbsqlfuzz b8a824706914488bd236da51118eb9174ceb870f FossilOrigin-Name: e8a1515b44380cc52aca1838814ca398012e4e9cf5728d40b404546e812a39b7
* Fix a bad interaction between constant propagation and transitive term ↵dan2021-04-15
| | | | | handling causing patterns like "WHERE unlikely(t1.x=t1.y) AND t1.y=?" to return non-matching rows. FossilOrigin-Name: 2363a14ca723c0343fbe350f6c19787a7a47c2289fd9af136c97a451b53b5226
* Make sure the WhereInfo.pExprMods list is properly cleared when existingdrh2021-04-15
| | | | | | sqlite3WhereBegin() early due to an OOM fault. dbsqlfuzz 1247a51318047aba42e7f6991dfa62577cb7a151. FossilOrigin-Name: 0e19af72d84f96245cb4a5cfc37232579b6f5fdebd525f8b6515a4f2cc84e273
* Prevent an assert() from failing if sqlite3_blob_reopen() is called on a ↵dan2021-04-14
| | | | | blob-handle that has already hit an SQLITE_CORRUPT error. FossilOrigin-Name: b5dc7aba036cfd6d09c68dd17608328063634ca99ff341f97bab2dc2a1f59b11
* Fix an assert() in the code generator for expressions so that it is validdrh2021-04-14
| | | | | even after an OOM. FossilOrigin-Name: 427e83eb583a4f63650912f078122e7373fe8c7ea11acfdab464d748b4235261
* Do not leave a WITHOUT ROWID table without a primary key index structuredrh2021-04-13
| | | | | | | due to an OOM error. This prevents downstream troubles in the case of PRAGMA writable_schema=ON. dbsqlfuzz 69fb32cc82d59b4d790881566e3f6c727e616122 FossilOrigin-Name: 608b6644b932c4d0c26ab870322639deefde4606f9e335575f99995bc7ed08b5
* The SQLITE_NoSchemaError flag should not apply to OOM errors while parsing thedrh2021-04-13
| | | | | schema. FossilOrigin-Name: 9cc484ad1a42f0821e53be6df46b1811dc8059e5aaf2f6c3e667105a55893b97
* Earlier detection empty_result_callbacks in sqlite3InitCallbac() to avoiddrh2021-04-13
| | | | | | problems with corrupt schemas an writable_schema=ON. dbsqlfuzz ca4ca43bdb22eab9859de4979aec615af851e111. FossilOrigin-Name: fb305fe077a0058861427f107957fcc3d2b1443cdd11a7f145df138ca3bb9f4e
* Fix a faulty assert() inside sqlite3ExprDup().drh2021-04-12
| | | FossilOrigin-Name: 59812e7ef705226c801f95ec7f78cc931f9957ffb66715607d63874813b280cb
* Fix an assert() in OP_ParseSchema so that it works even after an OOM.drh2021-04-12
| | | FossilOrigin-Name: 79b883537910274518cadbda7b5088811f59287b9385fc28ab54d837d41b995a
* Add an assert() to show that the SF_Resolved flag does not get set ifdrh2021-04-12
| | | | | errors are being suppressed. FossilOrigin-Name: f455c5b0bda3d303f9269db37efaa8ff0b356622b2df0a7544f83bb334118180
* Fix a segfault that could occur if the ORDER BY clause of a compound SELECT ↵dan2021-04-12
| | | | | contains a sub-select that uses one or more window functions. FossilOrigin-Name: 5ba15ebb34c3af85ef6c54bbb3acb57176d629cda83774881b2a6467e138e904
* Fix the display of SrcList in the sqlite3TreeView debugging routines.drh2021-04-12
| | | FossilOrigin-Name: 28ecb3810b40ca58c2e04a752bbc2234c64c27185aef2cb3fe7c933082dc2578
* Avoid an assert() failure when a compound scalar sub-select is, due to a ↵dan2021-04-12
| | | | | "WHERE (sub-select) AND (... OR ...)" clause, coded twice by the code generator. FossilOrigin-Name: a4e3f13329332f91a250bc18459fd4100990a1ac0516f8a0a6b21ff117db9795
* Fix harmless comment typo in main.c.drh2021-04-12
| | | FossilOrigin-Name: 785a553e71e2ecf108ec4140d470d718ceeb2d03896f7aab36ce10cf0e99e72e
* Add NEVER() to a branch that is no longer reachable due todrh2021-04-11
| | | | | check-in [a1d823f6879ce1ac]. FossilOrigin-Name: 5fda21feda2448de880088f4f53f20875ef02b47172c48091638b80173f983d7
* Avoid an uninitialized-memory valgrind error by tightening up corruptiondan2021-04-10
| | | | | detection in internal routine defragmentPage(). FossilOrigin-Name: 8096f7aee497f852b1404e13cdc8bafb54fcf6c540cd58addbc01eb2e27011b3
* Add NEVER() to a branch that became unreachable with drh2021-04-10
| | | | | check-in [58f36af2271517ab]. FossilOrigin-Name: e07ce463967521ab53463b21f80c8f90c337c15c250f69c3fccc1305f54f32df
* Avoid invoking sqlite3Atoi64() will a null pointer following an errordrh2021-04-10
| | | | | from ExpandBlob(). FossilOrigin-Name: 780412f2ca7576ce90861b2bd499f953504125b200e9aeae685def4a943f9d2b
* Fix a problem with handling expressions like "(col IS NULL AND <expr1>) OR ↵dan2021-04-10
| | | | | col == NULL" in WHERE clauses. FossilOrigin-Name: 40852ca8e215e51f63652a67817361b835b6fbbff7f66af50089af91007505f1
* Refactor NameContext.nErr into nNcErr to avoid confusion with Parse.nErr.drh2021-04-10
| | | | | | | Do not abandon sqlite3ResolveExprList() on nNcErr if nErr is still zero as we might have hit a problem with ORDER BY resolution that should be a suppressed error. dbsqlfuzz 41b9dad40919d3549ca7e52d893da81a6dded4ad FossilOrigin-Name: 7d674970741bd9b228b818c701c1ae010b90cc287a4c60a872f18b66353d164d
* Remove a NEVER() in a corruption detection conditional in allocatePage().drh2021-04-09
| | | | | dbsqlfuzz 9c61c33802600b2b01dfb09b0386ceb4ade02a19 FossilOrigin-Name: c174f5d32b8c6bbad102065b2d5acae70ddb153f863a2842da836cf7db3f683f
* Remove an ALWAYS() that is actually reachable following an OOM on andrh2021-04-09
| | | | | | UPDATE FROM of a virtual table. dbsqlfuzz aa03237ef7c4a028c7cdaf8bbcde2b62e2bcd36e FossilOrigin-Name: 49eac38926b3391b185d20fae6588c213f7f020f028173d4a4aa3c7a62b94140
* Have the VFS in memdb.c return SQLITE_IOERR_NOMEM instead of SQLITE_NOMEM ↵dan2021-04-09
| | | | | when an OOM error is encountered. This is required to get the pager module to handle such OOM errors correctly in some cases. FossilOrigin-Name: 09c96b4c026746f285a8aef5199bd247ecca590095ee42dde4f4dfa4996ce0bd
* Fix a use-after-free error that could occur when processing "SELECT ↵dan2021-04-08
| | | | | aggregate(DISTINCT <expr>)..." queries. FossilOrigin-Name: 0e4789860b81c31d3a6d1f9f8340042ce1d08a82bf6119c783fcab85180b1b63
* Remove an ALWAYS() that might be false under very unusual circumstances.drh2021-04-08
| | | | | dbsqlfuzz 300261f469ace7ecc57ed32ea7b0de3ea9d7dbf. Test case in TH3. FossilOrigin-Name: 466f508973e7adc983a4c9bd7c86b4d9269e3b990183fc7f95a50fe72b832ad0
* Handle the corruption fixed by the previous commit in a different way so as ↵dan2021-04-08
| | | | | to also fix dbsqlfuzz crash 753de0a0ac5b25b18f1e4d41e650d3333cdc270c. FossilOrigin-Name: cb27ce25095ab9b5acbe4bf010c7f6d8a71191c2f79b3bf3e63d8655b4fe0769
* Handle a special case of corruption that can present if "PRAGMA ↵dan2021-04-08
| | | | | writable_schema=1" is set. Fix for dbsqlfuzz test case 6229ad63de49e3ba0630aaf0058868f36008bcca. FossilOrigin-Name: 58f36af2271517abafa9f4a46f2a5f97e66c001675c17868282197d599603d1b
* Hardden the filter_over grammar rule against OOM faults.drh2021-04-08
| | | | | dbsqlfuzz e47c54502a9c36778a5ed553199d5870e2ebd9f2 FossilOrigin-Name: f375f541efee520042be83548ad96dfa889e2c349eda5db7612ac2336dd4e4f9
* Remove an incorrect assert() from sqlite3EndTable().drh2021-04-08
| | | | | dbsqlfuzz 4af45bcda779592449b1985433bca90b0e683b9b. FossilOrigin-Name: 38a1085cbd5b6dd5f418efa15c6da05de781f794b8f3dad3f871c96019fed099
* Do not allow the use of rowid for views and subqueries unless compileddrh2021-04-07
|\ | | | | | | | | with -DSQLITE_ALLOW_ROWID_IN_VIEW. FossilOrigin-Name: a2ddb89b206c13876d34c5f9e3db41cda72d6eb3fea31ffa8cc6daa1e1580e16
| * Also prohibit the use of rowid from a subquery. Add thedrh2021-04-07
| | | | | | | | | | | | SQLITE_ALLOW_ROWID_IN_VIEW compile-time option to restore legacy behavior in case somebody actually needs it. FossilOrigin-Name: 14b1d56ef84b0e62b7f9c4e5f7f985ca10e770c8db59f54004ad892c2a2dcbfb
| * Raise an error if a query tries to access the "rowid" of a view, as viewsdrh2021-04-06
| | | | | | | | | | do not have rowids. FossilOrigin-Name: 7a73c6166bb1d9f2e2de280fa4e973db152caaf6cc76b8e6a92cfe9560ddc224
* | Unnecessary local variable initialization to fix a harmless compiler warning.drh2021-04-07
| | | | | | FossilOrigin-Name: c22e47c77a35ebcd1fdfc0caea9119dd5e24e76d5fdd0f2ffbb58205a7242297
* | Fix an assert in the automatic-index constructor that can be false followingdrh2021-04-07
| | | | | | | | | | an OOM error. dbsqlfuzz ee04d66c627ed5b5301e0ce09e24db47e0f1544e. FossilOrigin-Name: cc6463fe6d23febeea5171f9a1bcb1e5f980f7f44b7e85022d5fd8662b471160
* | Earlier detection of page 1 on the freelist (which is impossible) anddrh2021-04-07
| | | | | | | | | | | | reporting of that as database corruption. dbsqlfuzz 6fe6c504b320be5e3eed66896cb0db28bfb38a93. FossilOrigin-Name: b1bf0d987578160f002035ff41ec7c82011288f1c0449414a4b3da39b20f871c
* | Fix a possible crash that could occur when executing a drop column operation ↵dan2021-04-07
| | | | | | | | | | on a corrupt database schema. FossilOrigin-Name: c337849416c588142a5066db3feb1716b7a9d02536bdb73cc9da7d162c0d5494
* | Do not apply the optimization that omits DISTINCT if all result terms aredrh2021-04-06
| | | | | | | | | | | | | | part of a UNIQUE index if the index is also a partial index. Fix for the bug reported by [forum:/forumpost/66954e9ece|forum post 66954e9ece]. FossilOrigin-Name: c2f940b02883e165172a4ca21c7095ffbef84ddc5367853dfeca93fda20d6056
* | Modify the drop column code to handle WITHOUT ROWID tables for which a ↵dan2021-04-06
| | | | | | | | | | single column appears more than once in the primary key. FossilOrigin-Name: e0d2507021c5a04016c442f954b542c0920678737ae7c710eb8ac50d6337db1c
* | Restructure a loop in window.c to avoid hitting an assert() following an ↵dan2021-04-06
|/ | | | | OOM. dbsqlfuzz test case 6ef74a9659de87e9be3d8694ad062c448aa7ef1d. FossilOrigin-Name: 887c19a15ba60a5dc375dda7e289d476ba24d4adb38086a013df9709b88f32a7
* Update an assert statement that could fail when using "PRAGMA ↵dan2021-04-06
| | | | | writable_schema = 1" to access a database with a corrupt schema. FossilOrigin-Name: 55cad6f628a4313c6652b36474c3397f097ac5c2503ae94605c030a54dc40916
* Silence an msan warning triggered by a corrupt database by initializing a ↵dan2021-04-06
| | | | | local variable in sqlite3Insert(). FossilOrigin-Name: f64deecee1691cf21b4f3d27d8490ecc8eae65cf26df7a22f8d15317f0cecd5b
* Avoid a use-after-free that may occur when accessing a corrupt database ↵dan2021-04-06
| | | | | schema with "PRAGMA writable_schema = 1" set. FossilOrigin-Name: a1d823f6879ce1acfd251de35ffdfdf5ce7d8e0552205c2c4a1fee179e3a6972
* Earlier detection of OOM errors during window function processing.drh2021-04-06
| | | | | dbsqlfuzz b08676f5a0437552c95d2a5d7ef285f8c451ea35. FossilOrigin-Name: 8e04f52e32c9655b703ab0a6dc6d57e6bd134db9e7168807b7b2ce81974f9274
* Handle "RETURNING rowid" clauses attached to INSERTs on views without ↵dan2021-04-06
| | | | | causing an assert() to fail. Fixes dbsqlfuzz crash 0081f863d7b2002045ac2361879fc80dfebb98f1. FossilOrigin-Name: 9c5b7386d013a7f22a93c69722c4648e2ab60eef180f48b5470bfea6fa74b3da
* Further improvements (subsequent to [d91450847a3a3a72]) to handling of attemptsdrh2021-04-06
| | | | | | to delete a journal using the memdb VFS. dbsqlfuzz ac61dab357279a6a531de067f040e9a4828d2df0. FossilOrigin-Name: a0839406426a0d8ec52cc3116ea7d8b582344b44f3f8c9365bbf5187370c3386
* Earlier detection and handling of OOM problems.drh2021-04-06
| | | | | dbsqlfuzz 39f2963ea5559aa3a16e24e0e3cb42aac85a7371. FossilOrigin-Name: 8d46df73132e46abb32b9dc129b6beb978d34dac3d372fb004ca283b0832d04c
* Relax an assertion on the sqlite3WhereEnd() routine after dbsqlfuzz founddrh2021-04-05
| | | | | a counter-example. FossilOrigin-Name: e6b591e76523034c41884b39d71d4b721f1df709bdafd842e2d4b4084c158ec0
* Add a missing CORRUPT_DB to an assert in the OP_ResultRow opcode.drh2021-04-05
| | | FossilOrigin-Name: 82f92d79e1901911b0ce57d0aa30d462847748159443c7db8af16e6b37e8212c