aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* | In the skip-ahead-distinct optimization, fix a bug in the logic that determinesdrh2017-04-15
|\ \ | | | | | | | | | | | | when to invoke the optimization based on sqlite_stat1 statistics. FossilOrigin-Name: 89f9e4363aa19f306e55f749c442eae2f8994f6a47c65e645a79b308b450d5e5
| * | Fix to the decision logic for when to use the skip-ahead-distinct optimization.drh2017-04-14
| | | | | | | | | FossilOrigin-Name: e50fd48969f99bc988389c53ff46714603b1d11de12c71b55c00cbee037f073c
* | | When doing a DISTINCT query using an index, try to use the index to skip aheaddrh2017-04-14
|\| | | |/ |/| | | | | | | to the next distinct element, rather than doing a full scan of the index. (This is the "skip-ahead-distinct" optimization.) FossilOrigin-Name: f489b5bb6b35665befdd411c2c55df5258e83cba265d8c4427ba22529cf882a4
| * Fix a couple of unreachable branches.drh2017-04-14
| | | | | | FossilOrigin-Name: 1aa0ea8db7580aff8bed2f78117ed50019e5545cef48cab782f512a2599fd0c5
| * Fix the skip-ahead-distinct optimization so that it works with indexes thatdrh2017-04-13
| | | | | | | | | | have repeated columns with different collating sequences. FossilOrigin-Name: ce1e2b88777e00a82c04abe5ba35eec81b5f324e462f099cd00b21054f369688
| * Simplification of the skip-ahead-distinct logic. There is still an issuedrh2017-04-13
| | | | | | | | | | with handling COLLATE. FossilOrigin-Name: 57c5173b6376a76013b0611ce9770100bd8c04e80402e35d821d8614709f4795
| * New test cases and minor fixes for the optimization on this branch.dan2017-04-13
| | | | | | FossilOrigin-Name: 70ac9ea1a6cb2f4906f00f1a04f668e5ba5eeed8d4d0fa4be57a9c9eb0683697
| * Only use the skip-ahead-distinct optimization if the index has been analyzeddrh2017-04-13
| | | | | | | | | | | | and we know that a skip-head is likely to skip over at least 11 rows. The magic number 11 was determined by experimentation. FossilOrigin-Name: 0cf16decd534bf2d66620c293f8c8987f356305f2d97f8fd12d260bda1571385
| * Forward port the skip-ahead-distinct branch which was abandoned for some reasondrh2017-04-13
| | | | | | | | | | | | | | that I do not recall. This port should have been achived by a merge of trunk into the previous head of skip-ahead-distinct, but that did not work. So I had to manually "rebase" the changes. FossilOrigin-Name: 132339a1fb0b9664df4d3eefbed6e77ef100ba95a91dcc622da7bd3fcdfcd6af
* | Make USE_FULLWARN=1 the default for MSVC and fix harmless compiler warnings.mistachkin2017-04-14
| | | | | | FossilOrigin-Name: 6bf673767b8e5cedef1acff795cbe524fab8db2525c06424db4e038934a33936
* | Enhance the sqlite3TreeView() display for Expr objects so that it showsdrh2017-04-14
| | | | | | | | | | the iRightJoinTable value for Expr nodes that have the EP_FromJoin property. FossilOrigin-Name: 5159cb8f2bcfb1f7114786ba23082d2b91a26e3a7ddfae75f8bd362792949d5e
* | Simplify the interface to the subst() routines that are part of thedrh2017-04-14
| | | | | | | | | | | | query flattener by collecting common parameters into the SubstContext object and passing around a pointer to that object. FossilOrigin-Name: e651074be28b2077b8a298f513e2e699ceca99164ace9869ea50873c0637fd2e
* | Remove an incorrect ALWAYS().drh2017-04-14
| | | | | | FossilOrigin-Name: f956f6ae6b0863c70c4a2b227338d5c332e87f2ec6f3fcdf2233c14c5b78ca2b
* | Reinstate the SQLITE_API qualifier on the sqlite3_delete_database() method indan2017-04-13
| | | | | | | | | | test_delete.c. Accidentally removed by the previous commit. FossilOrigin-Name: 59c70108fd179932ccdd860f93e1cd68b77476d3b1af1af00cf6e378c9984862
* | Update the code in test_delete.c to use the "win32" VFS if SQLITE_OS_WIN isdan2017-04-13
|/ | | | | defined. FossilOrigin-Name: fa9bb7b768027677f7e7d5a196ba5b245dfc8d8986ccd101c8dab671bd15719d
* Avoid updating unaffected indexes on a table as part of an UPDATE that requiresdan2017-04-11
| | | | | foreign key processing in some cases. FossilOrigin-Name: 477bea9ed0dd0fa69896bfd16d9b1d22170cbab784e3279ce65c29c47e032f34
* Smaller and faster implementation of exprMightBeIndexed().drh2017-04-11
| | | FossilOrigin-Name: 76cd611d41465fcec61c21520d55172cb236530f38386b7d4a5544ba87de2353
* Very slight smaller and faster sqlite3SelectNew()drh2017-04-11
| | | FossilOrigin-Name: 4143650c4ce32289d2301cdfc69bb10877246420f656bed122886f6803fc956a
* Add an ALWAYS() around an unreachable condition in sqlite3VdbeMemGrow().drh2017-04-11
| | | FossilOrigin-Name: 0f3eb61f44c94234ffc14c3a493a27ec62c0d1e2bb62798f36eafa98ddcdc58e
* Fix a segfault that could occur if an indexed expression was used in adan2017-04-11
| | | | | comparison operation within the result-set of a SELECT statement. FossilOrigin-Name: d6bb7c42ff6309ce168ccdcf03b4cdabfccfc9e2a911d254ac7dc4fea4aa2bc1
* Improved comments. Fix a problem when an indexed expression is used in andrh2017-04-11
| | | | | ORDER BY clause. FossilOrigin-Name: c59eaf2b7cd2596733f349fc0fe979f71fd29bd73152a0c57066e0b69d5b7a4a
* Merge changes from trunk.drh2017-04-10
|\ | | | | FossilOrigin-Name: 8978465f335925378d3aa99df6190ce6a1ee6b130205ccc493f2399803844760
| * Smaller and faster vdbeFreeOpArray()drh2017-04-10
| | | | | | FossilOrigin-Name: e052436d9f54b785facd661adc648512356b831c0547aa8f347ebf4bd8ef1254
| * Slightly smaller and faster sqlite3VdbeMemGrow().drh2017-04-10
| | | | | | FossilOrigin-Name: efd1702ae8da8e0dd3d2ee7bd5a1bd8aeff2b370498e404041fcb406fdaf72e4
| * Do not expose the name of the internal Mem object in the public interfacedrh2017-04-09
| | | | | | | | | | defined by sqlite3.h. FossilOrigin-Name: 19dd753f9e50fee247b1ab141669817c7e88bc3f6d6065dba6c731db9f7a2409
| * Expand on the comment above OP_Destroy to explain why it throws an error ifdan2017-04-08
| | | | | | | | | | there are any active reader VMs. FossilOrigin-Name: b9a8c2b9bec9f537b2d5aff6659a5748b1f70b53519a1f9dfceb5209154eca8e
| * Fix the quoting mechanism for ".dump" so that it is not applied for thedrh2017-04-08
| | | | | | | | | | ".mode quote" output. FossilOrigin-Name: 78c1e90305d48917d9423d8e50a7dfd15ec27aa93cb421610062229c7ede13a6
| * Fix the ".dump" command so that it works with ".headers on". Also fix thedrh2017-04-08
| | | | | | | | | | display of ".mode insert" with ".headers on". FossilOrigin-Name: a6ce57ee3c7f3527554a75cc1dd5ebcd33c944d4dca07b134d103596a2ae5b32
| * Use replace() instead of char() to quote newline and return characters indrh2017-04-07
| | | | | | | | | | strings in the output of .dump, to avoid excess expression complexity. FossilOrigin-Name: 4c2b572969ea2ed2a925444ecfa356aa877018cbb9c4f57d081ab4b535cd1dd0
* | Proof of concept for the ability to use the expression columns in an indexdrh2017-04-07
|/ | | | | | on expressions in place of equivalent expressions in the result set or in the WHERE clause. This check-in compiles but is mostly untested. FossilOrigin-Name: a52ef2ad7c0e14b78b801f16a1f6ea8d8fa9ae5d7d810e18dd24c600b662a312
* Fix the ".lint fkey" shell command for cases where the child key is also andan2017-04-06
| | | | | INTEGER PRIMARY KEY. FossilOrigin-Name: 48826b222c110a90996a84605318ea6b1e502b8c5129f4d561f8350dbdbcd264
* Fix the ".lint fkey" shell tool command so that it works for foreign keys thatdan2017-04-06
| | | | | | refer implicitly to primary key columns with non-BINARY default collation sequences. FossilOrigin-Name: 327eff25ba2420267cc8dc49dd3c3aab45f4bf9e060d1ad480e25d016d21f3ba
* Remove a confusing and pointless sentence from the documentation for thedrh2017-04-05
| | | | | sqlite3_interrupt() interface. FossilOrigin-Name: c5f1a2b6eb3df879d247a22b3f92f4f74fcf4f0d219450abc420ae6d02481324
* 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
* Save a few bytes and a few CPU cycles in sqlite3ExprListDelete() routine.drh2017-04-05
| | | FossilOrigin-Name: 9e6c939144a129b36bb119120442a4a021e00187783da211315d4bb13acd7c3a
* Remove a conditional made unreachable by the previous ExprList enhancement.drh2017-04-05
| | | FossilOrigin-Name: a1cf44763277b6c745b5b5509ca9129b6c3231608b4d1c8aec2815b64b5a2a07
* Combine the ExprList_item objects and the ExprList wrapper into a singledrh2017-04-05
| | | | | memory allocation, for improved performance and reduced footprint. FossilOrigin-Name: 2b6560ad88b92820c383bcdc1e30c06f8b081ef7c6d9b1af71d2bb76c83e35cd
* Fix a problem causing "PRAGMA integrity_check" to disable the xferdan2017-04-04
| | | | | | | optimization for subsequent VACUUM operations on tables with one or more CHECK constraints. This could result in VACUUM producing slightly larger database files. FossilOrigin-Name: e5bb7db51cdfd8124c60329782798cea398733545594dab55cb892b2a08c4d29
* Avoid an unnecessary call to sqlite3WhereGetMask() inside of whereShortCut().drh2017-04-03
| | | FossilOrigin-Name: 5c11f4303f6a33d6358f451244551be63baf9afe5630332e60b349215e20a3af
* Force a schema load prior to "PRAGMA optimize".drh2017-04-03
| | | FossilOrigin-Name: 86897c24c0b35ffea8df72d86a099addf67de210c6568aaba22ef92f1a60c3cf
* Fix typos in the documentation for OP_Column.drh2017-04-03
| | | FossilOrigin-Name: 777b43e64ffb2fb80ba7b705c129c133bf9787993a66cde1759dc070b324b4b4
* Slightly smaller and faster implementation for vdbeSorterCompareInt().drh2017-04-03
| | | FossilOrigin-Name: 84fa069c5bdfe41d03d03875c9157cc6785150b677c04e40b8916ba5af073dc8
* Remove an unnecessary setting of the Mem.enc field for the output of thedrh2017-04-01
| | | | | OP_Record opcode, for a performance improvement and size reduction. FossilOrigin-Name: e6e36b288fdf21b7ff7f0bf85d2225b6505f54367b183c302c93c34a4a40b8b5
* Minor performance enhancements to the OP_Affinity opcode.drh2017-04-01
| | | FossilOrigin-Name: c45cd3b947c0f03a688f827fddb4629a986788f0dd98d5ef899f11e68ff1c202
* Remove an unnecessary clearing of the Vdbe.iCurrentTime value.drh2017-04-01
| | | FossilOrigin-Name: fcd2acdd6075aa9a7a66ce254eba77485f7b2804127e109c0309173488cd4b87
* Faster implementation for sqlite3VdbeIntValue() and sqlite3VdbeRealValue().drh2017-04-01
| | | FossilOrigin-Name: 8698df60c23d4dcc80b58352c14ae80ec238cac496f8a87bd72a96fef61cc63f
* Remove unused fields from the BtCursor object.drh2017-04-01
| | | FossilOrigin-Name: 1c0d82e0786ed22d07d774b8b166340fad97bcaab6016e395c469bcfcb7c77a3
* Save a 78 bytes of code space and a million CPU cycles in speedtest1 bydrh2017-04-01
| | | | | | storing the cell index for the leaf page in the BtCursor object in its own field (BtCursor.ix), rather than as an entry in the BtCursor.aiIdx array. FossilOrigin-Name: 2452f0617d1085689264b5f66681788cfe9e3b1a7b318307c93942b702a443df
* Declare the Lemon-generated parser object as itself. (Duh)drh2017-03-30
| | | FossilOrigin-Name: c8000e94cca59dabf83d6cb75b40441aaf793d29880582dc4baa17246449b5fe
* Ensure that the stack space used to hold the Lemon-generated parser objectdrh2017-03-30
| | | | | is always 8-byte aligned. FossilOrigin-Name: 1279de0b70cabf39899d92ece8852a780fd800bf3154971537b3427e5bd3ca50