aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
| * Small size and complexity reduction on the star-query heuristic. Improveddrh2025-01-26
| | | | | | | | | | comments for the star-query heuristic. FossilOrigin-Name: a7ecb2f4b7eee78b88f1b2e026dffed2007ca4ffeb152632624ab2582839b250
| * Revise the strategy used by the star-query heuristic: Instead of decreasingdrh2025-01-25
| | | | | | | | | | | | the cost of all fact-table WhereLoops, increase the run-cost of WhereLoops that are SCANs of dimension tables. FossilOrigin-Name: 1bc09c9e8bd77ac41ecbe510c7e003757fc11d0f586da6cdf3584315aa9d6407
| * Improvments to debug output on the star-query heuristic.drh2025-01-25
| | | | | | FossilOrigin-Name: b3ebeb0682a2c837987acf4ed92f06cf91aea235830c5a0f9dd1ce64afe16e84
| * Avoid calling computeMxChoice() after an OOM as some assert()s can faildrh2025-01-25
| | | | | | | | | | in that routine if a prior OOM occurred while building the WhereLoop array. FossilOrigin-Name: 8b9e621dbf599d7e75e07d75d4c400247d693ea76e00eba0919f4e33e3e10bdd
| * Remove an incorrect ALWAYS() added in check-in [7cfbe14d199bb631].drh2025-01-24
| | | | | | FossilOrigin-Name: 431a1a29f93dc642779dc21c3a0edad5fcda1d175e9d1e3b216fa02c234fe774
| * Clarify handling of a NULL for the 2nd argument to sqlite3_serialize(), as ↵stephan2025-01-24
| | | | | | | | | | pointed out in [forum:3df7168b90|forum post 3df7168b90]. FossilOrigin-Name: 340edbe5540762656b648c18a359ab7039b4a0af15db199fc86317a415e2bafa
| * The debugging output for WhereLoop objects now shows costdrh2025-01-24
| | | | | | | | | | estimate changes due to the star-query heuristic. FossilOrigin-Name: a280f5f5480e560fc2b80e8947d8062e8b3487d930e71cb60fc9ba90d87977c1
| * Minor tweaks to the star-query detection and processing.drh2025-01-24
| | | | | | FossilOrigin-Name: 61f76a45ac7aa454419fd7539a3d8e60f0733fb5a2abd034d795328f3c1b6e9b
| * When looking for star-queries, do not count a table as a dimension tabledrh2025-01-24
| | | | | | | | | | | | if that table is separated from the fact table by an OUTER or CROSS join or if the table is a self-join. FossilOrigin-Name: 5aebd7df0d577e98b3affd22b84b42dfe84a9f37fa29187505cc245b95460ba4
| * Fix a possible infinity loop in debugging-printf logic in the query planner.drh2025-01-23
| | | | | | | | | | No changes to production code. FossilOrigin-Name: 9a20b94080f5379867530772e081b737ae4cf6b416469dcabb85b8dd819f491f
* | Add two new sqlite3_db_config() options that enable the ATTACH commanddrh2025-01-22
|/ | | | | | to create new database files and to open databases read/write. Both default to on for backwards compatibility. FossilOrigin-Name: fe0c58d00b491d1af7c0894f5c32542954aeea2e6510853b3bcbf13ac0bf5ce0
* Fix date/time computations to deal with the sub-millisecond roundingdrh2025-01-21
| | | | | problem identified in [forum:/forumpost/766a2c9231|forum post 766a2c9231]. FossilOrigin-Name: afb0a5923a6db4045fab5226198aab970d746d4866294ebba943c6986e97ecde
* Performance improvements to the (debug-use only) Mem.pScopyFrom logic, resultingdrh2025-01-21
| | | | | | | in about 8x faster performance under -DSQLITE_DEBUG for the query in from [forum:/forumpost/0025389d0860af82|forum post 0025389d0860af82]. This change only affects builds that use -DSQLITE_DEBUG. FossilOrigin-Name: 7fb1ae25d1572dd7709a0f850c148a5f745a524f01ea231e29a1ebc37c173fb9
* The FuncDev.nArg field values -3 and -4 now have special meansing of 1 or moredrh2025-01-21
| | | | | | | or 2 or more arguments, respectively. This saves space in the built-in function table, resulting in slightly faster performance and a reduced binary size. FossilOrigin-Name: 753fd747f24c5e9a019eb00b8a4f66e65c6733ba10a7adbd1b55786867c32ca6
* Use Tcl_GetString() instead of Tcl_GetCharLength() to test for a zero-lengthdrh2025-01-21
| | | | | string in the TCL interface, since that is much more efficient. FossilOrigin-Name: a8d9dcfd23fbfcd887e451382836c1e88215984cc01e00be11387dbf4ab26fd8
* Remove an assert() in the unix file locking logic that is not truedrh2025-01-20
| | | | | if alternative VFS "unix-excl" is used for a read-only connection. FossilOrigin-Name: bd5dc92368e41231a07bb59dd3db8942e238129ec7a3c8d785459d9b62bfcba3
* Fix an assert() that could fail if a virtual table called sqlite3_step() ↵dan2025-01-20
| | | | | from within the xSync() method while committing a "PRAGMA defer_foreign_keys=1" transaction. FossilOrigin-Name: 39bdbb3f6dd1d30d180526d35c11f789f5e9d45b99ead72fd4a3b136afab66b1
* Add an SQLITE_TESTCTRL_OPTIMIZATION mask that can disable the query plannerdrh2025-01-19
| | | | | heuristics that are designed to help with star queries. FossilOrigin-Name: fec4ff185a2f3f1bee8f27432206276636cf27365d2d41cd7282f8c0425f2e96
* Add a simple test case (many more are coming soon to TH3). Fix an obsoletedrh2025-01-18
| | | | | assert(). FossilOrigin-Name: aa829a131a3431791083cf60d9cf00e7b3c0fafdd39a23e761b629a2287ab875
* Add support for automatic query-time indexes on WITHOUT ROWID tables.drh2025-01-18
| | | FossilOrigin-Name: 89c4cbd9529081941d7283a401c4a8d71b241f4577ebf6d3eb2ebe5a1cf92f2e
* For the purpose of the query planner heuristic added by [38db9b5c83], a querydrh2025-01-17
| | | | | | | | | | should only count as a star query if the fact tables are connected to the dimension table by an INNER JOIN. If a LEFT JOIN is used, then the fact tables are constrained to be in inner loops anyhow and so the heuristic does not make any sense. But it does interfere with AUTOMATIC index creation, which causes the performance regression reported by [forum:/forumpost/d87570a145599033|forum post d87570a1455]. FossilOrigin-Name: 0852c57ee2768224af79910e6f26e70a4962651dae0f8b45cbfc847e6707d7bb
* When two indexes have the same cost, use the narrower one (the one with thedrh2025-01-16
|\ | | | | | | | | smaller average on-disk row width). FossilOrigin-Name: 398559678f2b9a65b245ed73b4d512c4fccc69d42b5a6a1c1b7755a80b69d073
| * When choosing between two indexes with the same cost, pick the one with thedrh2025-01-15
| | | | | | | | | | smaller predicted number of bytes per row. FossilOrigin-Name: d4bd0d4214551f88f248698fefc821575b722ce5c194d0b3796f572e4704f641
* | Check-in [da9124fee28c155c] broken the new SQLITE_IOCAP_SUBPAGE_READ mechanismdrh2025-01-15
|/ | | | | for inhibiting direct-overflow-read. This check-in fixes the problem. FossilOrigin-Name: 113078d555eaf740666680562ebbb04f7d823b72e8b2d553627e54ab3d7bf653
* Variable names and conditional logic simplified in where.c. Thesedrh2025-01-15
| | | | | changes are cosmetic only and do not affect the resuling machine code. FossilOrigin-Name: dbc2d6a244fdafd208239894dbdd8f139db6ca20dd8f1ed00d87028e0cb60570
* Remove a stray tab character from a comment.drh2025-01-13
| | | FossilOrigin-Name: 315079b150b47e013e2cde4985bc39d24e0f6f6c6e60f9383fb8ea4ea897c67a
* GCC 13 has become more quite pedantic about the signature of functions ↵drh2025-01-13
| | | | | | | | | matching the type of pointers through which the functions are called. Make adjustments to extension functions and test procedures to work around this. No changes to the core. FossilOrigin-Name: ed83b79100b4345235aec990303c4526874f0c2f8701160c4639a80633ebaf70
* Fix harmless "implicit fall through" warnings that suddenly appeared whendrh2025-01-11
| | | | | I upgraded to gcc-13. FossilOrigin-Name: 3e2875dac27de1525d9c78f38ac5f1fc12fec7e1b43dbdf47798b128fae49084
* Better job at suppressing harmless scan-build warnings. This time testingdrh2025-01-11
| | | | | and working. FossilOrigin-Name: c847973947de67579fab78a65ecfc90bf59fd5db0b7fa7a9c1abb1fc92213d01
* Fix harmless scan-build warnings.drh2025-01-11
| | | FossilOrigin-Name: b93af6feb7c0c3af30a47810a7c0e77ce41c386fac164c64bb5871a6c153db7e
* Improvements to [14b38ae6ab86a314] so that the Tcl interface is better abledrh2025-01-07
| | | | | to work with boolean values in both Tcl86 and Tcl90. FossilOrigin-Name: 4e85343d6107a46682b549667410c296d7f4d17e3ac04ded7357afcbbfbe3e6d
* Fix a memory error in test logic introduced by [8704034254938662].drh2025-01-07
| | | FossilOrigin-Name: 8a56e98d257e280d308b9fdc26e17e202f00a70fb9a780e30924e87a189fc7f4
* Make the TCL extension aware of the booleanString type within TCL.drh2025-01-07
| | | FossilOrigin-Name: 14b38ae6ab86a314a63ca9513850b43fcc670864f94d03a2706eff469980da88
* Fix a typo in the previous check-in.drh2025-01-07
| | | FossilOrigin-Name: 7d41885e85b0e2ef28bac34d663af07c35b21ee3e8b14481d2371f623bce681d
* Minor fixes to tclsqlite.c to promote portability.drh2025-01-07
| | | FossilOrigin-Name: dd934f032fa6fc790a951006512e3ed76a5f2930858932918eafdbe3ceec4620
* Fix a minor problem with the sqlite3_get_table_printf() test interface.drh2025-01-06
| | | | | No core changes. FossilOrigin-Name: a0df29c7a3eb4f558aba00598d827643830591def3101a4d5464543527b8d13c
* Allow the 2nd argument to ".param set" to use previously bound parameters,drh2025-01-04
| | | | | as suggested by [forum:/forumpost/823e1bd746|forum post 823e1bd746]. FossilOrigin-Name: 13a35ad792dc0afe1f7b60230aef392ae01e702972b963d732e332f21848f38b
* Add comment to the columnIsGoodIndexCandidate() routine to record the resultsdrh2025-01-03
| | | | | of a failed experiment. No changes to code. FossilOrigin-Name: 9ee57a30a49d9813bf2669a5d8346f7e018e3fbf1792739951311a8d3a249d45
* Improve the treeview output for CteUse objects.drh2025-01-02
| | | FossilOrigin-Name: 2b16d6947ca4a102ddab4d5ba3e340a75e1e5c28e45e874ee5ff52f9b5fb964f
* Improvements to the display of subqueries in the FROM clause for treeviewdrh2025-01-02
| | | | | output. (Debug and analysis code only - does not affect production builds.) FossilOrigin-Name: 4a2d65cdcdd3d21bb7d9ea0efb434484f1b8642c2bb6457db58bc2a5f4fc16e5
* Add a test case for ROLLBACK TO of database truncate operations made through ↵dan2025-01-02
| | | | | the sqlite_dbpage vtab. FossilOrigin-Name: eb335beb1eb9ebbea4cb793d24f65787d0d9d8539bc6b5971e4e4298fdfce0c2
* Improvements to the way that truncation is implemented in sqlite_dbpage().drh2025-01-02
| | | FossilOrigin-Name: ac4bb2e4ecf0bdb0d8ac12b1ccb42d51af02f519a038cfc79faab5c216971056
* New assert() statements to show that the sqlite3_value.db field is initializeddrh2024-12-30
| | | | | for MemArrays. FossilOrigin-Name: 7cd8ccf57d1ae0f597ec5004201395f61ef4750728f3c1b9c4dd52d28916a4f7
* Add an extra assert() to releaseMemArray() just to prove that thedrh2024-12-30
| | | | | sqlite3_value.db field is never NULL. FossilOrigin-Name: b969ef1def5121c7ff54e3586528274f006ca994b308cf88ccaa9d4f56bf30df
* Fixes to the substr() SQL function so that it can handle ridiculously largedrh2024-12-28
| | | | | numbers in its 2nd and 3rd arguments without signed integer overflows. FossilOrigin-Name: c1de8f916ea617109a903c436c57d082756fbb2b933ba9ce6998b9b912b12dea
* Correction to check-in [a9759fc78d6cb0df] - printf() parameters values mustdrh2024-12-19
| | | | | be integers. FossilOrigin-Name: 2db531d1911369ea932d3559abcc02389e5f9ad72b46b0801dfb6063855aee1b
* The BTree mutex must be held when calling sqlite3BtreeLastPage(). Thisdrh2024-12-19
| | | | | check-in fixes a bug introduced by [cf8b99e17872c054]. FossilOrigin-Name: e6c30ee52c5cdc193804cec63374d558b45e4d67fc6bde58771ca78485ca0acf
* Fix additional integer overflow problems in the substr() function.drh2024-12-19
| | | FossilOrigin-Name: 472abb492f1d1553ae6bdf53cc64bebfe75423526335beab7eaff26cc495cd7d
* Fix possible integer oveflow in the second and third argument to substr().drh2024-12-18
| | | FossilOrigin-Name: b04b4006f38f83d36eaf43c4bace7d53866b02b45e0ddcf1704266fed3bfc11c
* Avoid 32-bit roundoff error on the second argument to round().drh2024-12-18
| | | | | [forum:/forumpost/170aeab92a|Forum post 170aeab92a]. FossilOrigin-Name: a9759fc78d6cb0df7c81f20c2c5c358729e571ebee50ee2b1441a15239d0b4b6