aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Avoid a redundant NULL checkpdr2020-03-08
| | | FossilOrigin-Name: 25dc53f6608dd9b8b4e8d8ee22e194a6d41d15811781752797cb42fc22ee1317
* Report an error if the main, or any other, database encoding is modified by ↵dan2020-03-05
| | | | | an external process (perhaps using the backup API) after the db has been opened. FossilOrigin-Name: 895bd20b29e223496e1585483c6ce3335ae9050f2e5de4d6b69d0e40df396862
* Change the sqlite3.pDfltColl (the default collating sequence for thedrh2020-03-05
| | | | | | | | | database connection) so that it is the collating sequence appropriate for the database encoding, not the UTF8 collating sequence. This helps to ensure that the database encoding collation is always used, even for expressions that do not have an defined collating sequence. Ticket [1b8d7264567eb6fc]. FossilOrigin-Name: 4a5851893c3d71cc823b6ab5df5e58a852cd322fff26290f1ea05b63d67f564a
* When printing the OP_CollSeq opcode for EXPLAIN listings, include thedrh2020-03-05
| | | | | text encoding with the name of the collating sequence. FossilOrigin-Name: eb5c1b77d1c55fc286ff8fccfd61e21cb67aec92d6f93b093b9af5c32165d82b
* Fix a false-positive in the debugging logic that attempts to detect thedrh2020-03-03
| | | | | | use of uninitialized registers inside triggers. Ticket [c4c56482ced89d90] FossilOrigin-Name: 0463576b5de0a1ee71530f0e4988fc9cceda79148520bea2c67f1fbc4a99cea9
* Remove an invalid assert() on the debugging logic that checks to ensure thatdrh2020-03-03
| | | | | register values are not used after they go stale. Ticket [d165ad781b39d574]. FossilOrigin-Name: bd94d7d052734460904c687756231f8aa243a2252f07f742dd1e437aa940f536
* Fix a faulty assert() statement in the stale-register detection logic.drh2020-03-02
| | | | | Ticket [da5a09be6dabbf42]. FossilOrigin-Name: 219c296cc8cab13fa12b64c297bc4a98d8e21491309d97a031edf89ae77fce75
* Ensure that the NULL-scan pass counter is initialized when a ORDER BY NULLS LASTdrh2020-03-02
| | | | | is used on the right table of a LEFT JOIN. Ticket [e12a0ae526bb51c7]. FossilOrigin-Name: 704bb9a39acbee420c1d6ac9eb1466a02dd77d3334b938bfddf235973129b5fe
* Fix a problem with window functions occuring within sub-selects that are ↵dan2020-02-29
| | | | | part of an OR term in a WHERE clause of the outer SELECT. FossilOrigin-Name: 1e174ed0d29366eb56ad1a0cc8defcb440b426bfd9525aed2f93468248606efc
* In the CLI, add the ".oom" command for debugging builds.drh2020-02-29
| | | FossilOrigin-Name: 9c3136a722715952d155aae55cbc6d1fb921c6940d8e7d3e32fcba000f6ac1ed
* Fix harmless compiler warnings from MSVC.drh2020-02-27
| | | FossilOrigin-Name: 951b39ca74c9bd933139e099d5555283278db475f410f202c162e5d1e6aef933
* Optimization for "SELECT min(x) FROM tbl" where "x" is indexed and NOT NULL. ↵dan2020-02-27
| | | | | This also allows similar queries on NOT NULL virtual table columns to be optimized. FossilOrigin-Name: 59726777934e201d94e99ca693f0fda4ebfb1c7883d0258ce542f63f9924c28c
* Extra zero terminators on the end of the blank filename returned bydrh2020-02-27
| | | | | | sqlite3PagerFilename() for an in-memory database. This helps the result work better with sqlite3_filename_journal() and similar functions. FossilOrigin-Name: 63e533d28e87bbb10e0c611de4b79d22aae291b163fe59d1f95dcad9ab3939e4
* Ensure that the filename passed into the xFullPathname method of the VFS isdrh2020-02-27
| | | | | | | acceptable as an argument to sqlite3_uri_parameter(). The interface spec does not guarantee this, but it has been so historically and some applications have come to depends on it. FossilOrigin-Name: bfb09371d452d5d4dacab2ec476880bc729952f44ac0e5de90ea7ba203243c8c
* Rework this changes so that instead of setting the WhereTerm.truthProb whendrh2020-02-24
| | | | | | | a term is seen to be of low selectivity, it merely sets a new flag (the TERM_HIGHTRUTH flag) which causes whereLoopOutputAdjust() to ignore that term. FossilOrigin-Name: 4558163b6a525990f0f1b6629dbb76daf49bcaf1ddbaf0c50fe05ce9ee480ff8
* Merge bugfix from trunk.drh2020-02-24
|\ | | | | FossilOrigin-Name: b542dee9de843c19664c19df7435c6034d23d0d213804d588ec0ff599082d576
| * Fix a problem with ALTER TABLE for views that have a nested FROM clause.drh2020-02-23
| | | | | | | | | | Ticket [f50af3e8a565776b]. FossilOrigin-Name: c431b3fd8fd0f6a6974bba3e9366b0430ec003d570e7ce70ceefbcff5fe4b6fa
* | Do not activate the truthProb adjustment mechanism if the truth probabilitydrh2020-02-22
| | | | | | | | | | | | | | is less than the heuristic value, as there could be correlations unknown to stat4. Also add additional tracing output to make truthProb adjustments more visible. FossilOrigin-Name: c535fea147ce5c6e4aab25d3c85a3f53a7364c5b5ee10fb6d393c5911a02be7e
* | When stat4 information is available, try to use it to improve the truthdrh2020-02-22
|/ | | | | probability of WHERE clause terms that do not participate in the index. FossilOrigin-Name: 1babd6ec5d60e2c34aa1c0285ead768a88004218468e97262411973fe3487022
* In the OP_Column opcode, if the cursor is marked NullRow (due to being thedrh2020-02-22
| | | | | | | | right table of a LEFT JOIN that does not match) and the cursor is the table cursor for an OR-optimization with a covering index, then do not substitute the covering index cursor, since the covering index cursor does not have the NullRow flag set. Ticket [aa4378693018aa99] FossilOrigin-Name: f02030b3403d67734bba471a91ad5bfdb03ddf6fdc3ef14808a04495e43b0470
* Early-out on the INTERSECT query processing following an error.drh2020-02-20
| | | FossilOrigin-Name: a67cf5b7d37d5b1484be32092635faafd8f76e5881898cd9435517c4b287d663
* Fix a potential NULL pointer dereference following OOM. Problem discovereddrh2020-02-19
| | | | | by dbsqlfuzz. Test case in TH3. FossilOrigin-Name: 5aeb5a2d295e10d5fc1d456b3acaf8ac13c04cb5bb71a8c4571541d366e95887
* Remove a NEVER() macro and add a test case to cause its argument to be true.drh2020-02-18
| | | FossilOrigin-Name: ee034fe916448e953ee7824e5c0db99a36a0ad138ebfb25f751bf84cb80a8fa7
* Add the new sqlite3_create_filename() and sqlite3_free_filename() interfacesdrh2020-02-18
| | | | | for use by Shims. Use these interfaces inside the multiplexor. FossilOrigin-Name: 9469f36ac89e4b75d0ab25fefbeff25201992c53141da915dcaa017083cab6db
* Convert invalid surrogates to 0xfffd when translating UTF.drh2020-02-17
| | | FossilOrigin-Name: 7fab1393c2b22b1f3b159b631e06e7e0d3900850ee249c38e4d3cdd0aacf637e
* A better (smaller and faster) solution to ticket [4374860b29383380].drh2020-02-17
| | | FossilOrigin-Name: abc473fb8fb999005dc79a360e34f97b3b25429decf1820dd2afa5c19577753d
* Take care when checking the table of a TK_COLUMN expression node to see if thedrh2020-02-17
| | | | | | table is a virtual table to first ensure that the Expr.y.pTab pointer is not null due to generated column optimizations. Ticket [4374860b29383380]. FossilOrigin-Name: 9d0d4ab95dc0c56e053c2924ed322a9ea7b25439e6f74599f706905a1994e454
* Fix problems in the constant propagation optimization that were introduceddrh2020-02-13
| | | | | by check-in [1c3e5c20a9e6f501]. Fix for ticket [1dcb4d44964846ad] FossilOrigin-Name: c9a8defcef35a1fee6bcbb88252a2d0076dabe8381b0128b2257b5b5cc494e0f
* Disallow the skip-scan optimization in the absence of sqlite_stat1 data.drh2020-02-13
| | | FossilOrigin-Name: e0c6b8bdb76fcd4f08c89ff20dce6a33ef3c11752e1e919fec5c4e7d423c4b93
* Omit O_NOFOLLOW from the open() call when opening /dev/null, since /dev/nulldrh2020-02-13
| | | | | is a symlink on Solaris, we are told. FossilOrigin-Name: 0c683c43a62fe25c6cb765e4a31556ec91a7c21af79349b3d7eeb13f73dd1cdc
* Fix an incorrect assert() statement that was added yesterday.drh2020-02-13
| | | | | Tickets [41c1456a6e61c0e7] and [fb8c538a8f57ae2a]. FossilOrigin-Name: abfb043ebb0c55fdc2be58255bc852b13865d81fa4c2e0dbe8c375810557aafe
* Increase the default upper bound on the number of parameters in a singledrh2020-02-12
| | | | | SQL statement to 32766 (from 999). FossilOrigin-Name: 2def75693a8ae002375aff80db0e6c970c75f75e8b6ba64f2c518712badb0ae8
* When determining whether an == or IS constraint in a WHERE clause makes an ↵dan2020-02-12
| | | | | ORDER BY term redundant, consider the collation sequence used by the == or IS comparison, not the collation sequence of the comparison expression itself. Possible fix for [fb8c538a8f]. FossilOrigin-Name: 16aed5d0c63dcdc2054dbb8a4b6b992476640433bf81e19301e6db5a3fc82633
* Fix the build for when SQLITE_VDBE_COVERAGE is used.drh2020-02-10
| | | FossilOrigin-Name: 084381649edf374ccc5664f136055109a31d4c3a19c4ae2ee5275f630507a2a3
* During byte-code generation, strive to avoid jumps that merely jump to thedrh2020-02-07
| | | | | following instruction. FossilOrigin-Name: bcf876e67e75f6709f2b25683a3952bbbb87c672bb9d7af456feebc0ab9f6c31
* Simplify the code by removing the unsupported and undocumented drh2020-02-07
| | | | | SQLITE_HAS_CODEC compile-time option FossilOrigin-Name: 5a877221ce90e7523059353a68650c5fdd28ed032807afc2f10afbfbf864bdfe
* There is no need to keep track of the number of changed rows or of thedrh2020-02-06
| | | | | last-insert-rowid while running VACUUM. FossilOrigin-Name: a8a7c05b16f6c73ac55c359fbf62cae4a76eb0d105a3c53e9f47cede9fd85916
* Separate OP_IdxInsert and OP_SorterInsert into completely separate opcodes,drh2020-02-06
| | | | | helping each one to run a little faster. FossilOrigin-Name: 447d71f0867a11f789eba164ea77470b3ae4953927556304b0861cf690250776
* Remove dead code from the sqlite3_filename_database() function.drh2020-02-06
| | | FossilOrigin-Name: 1b6185550f2bcfa11513898984f1fc2029e0356e9acdc786c5c4a8006b1da2ba
* Small size reduction and performance improvement in thedrh2020-02-05
| | | | | | sqlite3VdbeMemFromBtree() interface used to pull content out of the b-tree and into an sqlite3_value object. FossilOrigin-Name: ae6dd8d3e921670ee6450453b54245dd71bcfff3fd1bc7fdb7cf4cf9585c3375
* Enable more detailed log messages in SQLITE_ENABLE_CORRUPT_PGNO builds if ↵dan2020-02-04
| | | | | database corruption is encountered. FossilOrigin-Name: 57c36a293e16bb4d9652874124ee1447bef278e08664bc8dd0070a0ee2ef1173
* Extend the OP_Copy-coalesce optimization fix of check-in [b36126c1889e323c]drh2020-02-04
| | | | | | so that it is also correctly disabled by the CASE operator. Ticket [9d3666754ac37d5a]. FossilOrigin-Name: 29a969d6b1709b80d9cb88b60971e4eb021f7f5f8ee9a619be74b833a78a35ef
* Fix a problem with the byte-code decompiler that was inserted by thedrh2020-02-04
| | | | | enhancements at [4248980a356f659b] FossilOrigin-Name: af63e95dcdd6e9741cdddc3698e857e3b8be40048d3036f939f3583e517c4eff
* Cosmetic change to the xfer-optimization to put the OP_RowData opcode closerdrh2020-02-03
| | | | | | to the corresponding OP_Insert opcode. This makes it slightly easier to read and understand the code. FossilOrigin-Name: 0ea2dbfc9088561d62c3456803cb08d357e4e60f1d21f6ed37315564be4957d3
* On an INSERT or UPDATE, perform affinity conversions on new data prior todrh2020-02-01
| | | | | running CHECK constraints. Ticket [86ba67afafded936]. FossilOrigin-Name: 1d4f86201dab9a22df9ef8175a7ebf3640e97cdb23a06fb454b4c69bfda3a9af
* Fix the comment display for the OP_Function opcode. And at the same time,drh2020-02-01
| | | | | | improve the comment generating logic to make use of the newer sqlite3_str_appendf() interface. FossilOrigin-Name: 4248980a356f659b10b12c778592996d53c91fae4ea50c8566678da176bdd152
* Merge the sqlite3CodecQueryParameters() fix into trunk.drh2020-02-01
|\ | | | | FossilOrigin-Name: a812f533693a3605f297199ae0320d663e872208675e86860c5c1803943943aa
| * Fix a problem in sqlite3CodecQueryParameters() that was introduced by thedrh2020-02-01
| | | | | | | | | | query parameter encoding changes for the 3.31.1 release. FossilOrigin-Name: cc65ca541265bd7061ed8f5ec9a54f3c384c41019c5ea1c68dcaabeff3495839
* | Fix a problem with the processing of IN(...) constraints handled by virtual ↵dan2020-01-29
| | | | | | | | | | table implementations that do not set the "omit" flag when the virtual table column contains at least one NULL value. FossilOrigin-Name: dcb4838757ca49cf149a6e883b3eb0ac8a075147387a078280dfabe39b1a3e8d
* | Remove a NEVER() that is in fact reachable. Test cases in dbsqlfuzz and TH3.drh2020-01-29
| | | | | | FossilOrigin-Name: ffd8bb9351fbd8c1285491d4e10734f6816689de6042d640c178a5ecda75a5ef