aboutsummaryrefslogtreecommitdiff
path: root/src/sqliteInt.h
Commit message (Collapse)AuthorAge
...
* Squelch a new (and, in this case, harmless) compiler warning.stephan2022-12-23
| | | FossilOrigin-Name: a02e19dd6ce00492f3d187e3c3c9bde4d9d1ee9a23616e62ea3590eec95652bd
* More efficient implementation of large precisions on the "%c" format fordrh2022-12-21
| | | | | | the built-in printf(). This is an effort to avoid a reported timeout on a (ridiculous) query generated by OSSFuzz. FossilOrigin-Name: 371f9b88387a44a5f820279d79733d1deb7eafc72f320ec47a11679bbdbb49ef
* Do not use indexed expressions to replace the expression being indexed on adrh2022-12-20
| | | | | | RIGHT JOIN as that leads to problems, as shown by dbsqlfuzz a644e70d7683a7ca59c71861a153c1dccf8850b9. FossilOrigin-Name: f113eebdbe68246fd38d640b0cdf0fd73ab5d2abad9226274dfa2e41fe286bf0
* Create a new affinity called FLEXNUM that works like NUMERIC except that itdrh2022-12-15
| | | | | | | | | never tries to convert integer to real or real to integer. The affinity is only used internally - it is not possible to create a table column with this affinity. This affinity is used on subqueries and views that are built off of a compound SELECT and where the datatype is controlled by a CAST expression. dbsqlfuzz c9ee6f9a0a8b8fefb02cf69de2a8b67ca39525c8 FossilOrigin-Name: 44135d6ea84f7ba6b36549954b38a8bc048d5ffea5a9779e35950afa4eb2dfb2
* Merge all the latest trunk enhancements into the coroutines-exp2 enhancementdrh2022-12-14
|\ | | | | | | | | branch. FossilOrigin-Name: ea278438b72e85d217e72c836cbefd68bd8b336baf33507b2d8d12ef436424cd
| * If the SELECT that implements a subquery or a VIEW or a CREATE TABLE AS isdrh2022-12-14
| | | | | | | | | | | | a compound with different result datatypes on two or more arms of the compound, then the overall column type becomes BLOB (ANY). FossilOrigin-Name: 6ebb178c6b688ebd632e91a5ec4c748567833037c679ab3d72fb770deb230fe1
| * Back out the part of the change in [88a05141c28e5ff1] that adds affinity todrh2022-12-14
| | | | | | | | | | | | | | | | | | | | | | the materialization of a view, as the affinity can be undefined for a compound query. This passes all TCL tests, but shows failures in the TH3 tests derived from [forum:/forumpost/6f842bc5b2dadcb2|forum post 6f842bc5b2dadcb2], presumably because the WHERE clause of the query uses constraints of the form "source_crs_code='8675'" instead of "source_crs_code=8675". Perhaps further changes on this branch should reimplement affinity on joins in cases where the affinity is unambiguous. FossilOrigin-Name: fe5a77bcc4de8f49cc4fe6bd2e2e1f31da8d3bc84120daaa99eb853b06291d15
| * Refactor the sqlite3SelectAddColumnTypeAndCollation() routine. Improveddrh2022-12-13
| | | | | | | | | | comments. Now called sqlite3SubqueryColumnTypes(). FossilOrigin-Name: 4dfb1b450b87e2c6207c83c102b785781d1dbdeadbeeab6a83f96d58bb96cfbf
* | Remove the SQLITE_PREPARE_SAFEOPT flag. The name is obsolete and it is at thedrh2022-12-09
| | | | | | | | | | wrong level. Instead use the SF_UpdateFrom flags on the Select object. FossilOrigin-Name: 78723a9a7e72b42d28fc5645661da17f20cedcf864819b861800ad9340007be1
* | Simplified experimental changes to promote the use of co-routines. Lessdrh2022-12-06
|/ | | | | | cruft than the coroutines-exp1 branch, but still does not work. Checked in as a work-in-progress. FossilOrigin-Name: e2318a30bf6ad2aeb4c4cb29661bc24ff78eb51bf07decc4b8da1ecac0015ef0
* Enhance the sqlite3_stmt_scanstatus() API and add ↵dan2022-12-02
| | | | | sqlite3_stmt_scanstatus_v2(). For creation of easier to read query performance reports. FossilOrigin-Name: 55800833645739efeddcacef464c623931cb6aeb43f4219b4e4faf473c25c8bb
* Attempt to rationalize the bits associated with ".wheretrace". Providedrh2022-11-30
| | | | | a decoder key in sqliteInt.h for what each bit is intended to do. FossilOrigin-Name: 8ec361695a107a94f2cf6a7fe509656a99d85d49bd7c74133c69903f059a2675
* Change the handling of hwtime.h to make it easier to compile performancedrh2022-11-29
| | | | | | measurement builds that make use of hwtime.h. This should not affect productions builds. FossilOrigin-Name: f64a224244743ab121371abd516fccbfc93c110e0952211764bd1b217e792c1b
* Improved comments. Add assert()s to verify that the AggInfo structuredrh2022-11-25
| | | | | is unchanged after registers have been assigned. FossilOrigin-Name: 5200b84195ee1ccaa387f7032eae3d463724c48cb53ba0251bbc79e927dd9752
* This attempt at modifying AggInfo to make use of indexed expressions does notdrh2022-11-23
| | | | | work. It gets an incorrect answer for the test case shown in the ticket. FossilOrigin-Name: 84c06023f4a1606664fdb9811312603b31f7c94a43d0e443ba7dde7fdba029e3
* Merge enhancements and fixes from trunk.drh2022-11-22
|\ | | | | FossilOrigin-Name: f8932e04d4d18eb9d71edda15aa08af2eb139ff14d77ca147ea6e9b173e0f5e0
| * Include the treetrace bitmap comment accidentally omitted from the previousdrh2022-11-22
| | | | | | | | | | check-in. FossilOrigin-Name: db07471c531766a8eec1d5b41c9fd0283b5e64ee13166dc3391f70a1e1946121
* | Merge trunk fixes and enhancements into the agg-with-indexed-expr branch.drh2022-11-22
|\| | | | | FossilOrigin-Name: 070634781a5eb41f96b001e48b064e3cd8c82314f576335eb1fcd43792179291
| * Rename the SELECTTRACE macro to TREETRACE, so that is corresponds to the newdrh2022-11-22
| | | | | | | | | | | | | | CLI command. Renumber all of the bits in the bitmask used to enable various kinds of tracing, and add a trace bitmap decoder in sqliteInt.h. Changes to debugging logic only. No (intentional) changes to production code. FossilOrigin-Name: 8036445a36d9d982c1305935e7e37367bdf9e466b923eb6286b52524802e3ccd
* | Since the memory registers used by the columns and functions of andrh2022-11-22
| | | | | | | | | | | | | | AggInfo object are sequential, it is not neecessary to remember each register separately. We can simply remember the first one and do the math when others are needed. FossilOrigin-Name: dc5bd34963b761c819c565653156d0befbf65cc2cc5dc4113b0ce952450f0352
* | Omit the unnecessary AggInfo.mnReg field.drh2022-11-22
| | | | | | FossilOrigin-Name: d79c58ef08b917bacc0f24d210d8eb23f659f955c219b4757af42eee8f17099b
* | This is the first in what is anticipated to be a long sequence of incrementaldrh2022-11-22
|/ | | | | | | | changes aimed at improving aggregate query processing, and in particular helping aggregate queries take better advantage of indexes on expression. The end goal is to resolve ticket [99378177930f87bd], though it remains to be seen whether or not I can get there with this approach. FossilOrigin-Name: cba837eae93f6b842d4e78ef00661a4f09deb99c53f12b3e8f46763749602597
* Change the name of the Parse.pIdxExpr field to pIdxEpr so that the name isdrh2022-11-21
| | | | | distinct from all other identifiers in the code and thus less confusing. FossilOrigin-Name: a2962d0187534f3496282b48efbf38dabcd226bf8972be925c8433c55a8853fe
* Databases created using sqlite3_deserialize() should report their filenamedrh2022-11-19
| | | | | as an empty string, not as "x". Fix for ticket [53043c9793715f08]. FossilOrigin-Name: ff494449efd475878c549728cc22ee9b12d13674068781747fc042a0c1bd09c8
* Improvements to comments. Change the "optimization_control" TCL commanddrh2022-11-01
| | | | | | in the test harness so that it returns the new optimization mask, for verification. FossilOrigin-Name: a3a500127d4752ee05c183e9ac97a2bc27768bf7063b04b5c1405cd3fd3931f5
* Enforce column affinity on the materialization of a subquery or view.drh2022-11-01
| | | FossilOrigin-Name: b6692de374d7f489d8cf8877bdfef19501bc5ecb0781d42750807eeb58f2e7cd
* Remove the sqlite3StdTypeMap global constant that was madedrh2022-10-26
| | | | | obsolete by [aa6e908619624867]. FossilOrigin-Name: 3dfdfb3f12edb3f4267942598efd05d573e13b7c5d6cdbc3404373f41b8993dd
* Fix typo in comment.drh2022-10-24
| | | FossilOrigin-Name: f65c95658fe4d30817da8de7eb88e823ea1cd8be40e347d626870bad3cc13359
* Add a comment to a previously undescribed member of the Walker union.drh2022-10-24
| | | FossilOrigin-Name: 69d704224e9ed022fcec591beff2ffcc4daf3e7fc586debfdcf00b25c1fddd87
* Enhance the query planner with the ability to discern when an index isdrh2022-10-22
| | | | | covering even when it indexes columns well beyond the 63rd column. FossilOrigin-Name: 1390417be45dd84e9118f6e761f23b8ff7476d26411e165bbaab678881e4eadd
* Clarification on the meaning of SrcList and SrcItem and especially thedrh2022-10-22
| | | | | | SrcItem.colUsed and Index.colNotIdxed fields. Comment changes only - no changes to code. FossilOrigin-Name: d96f6cc8475ae5509b8bff2db75e3c6f69a214d58d8979fbc0162ae488a040dc
* Add a bit to the optimization disabling mask for the indexed expressiondrh2022-10-20
| | | | | optimization. FossilOrigin-Name: 56df1482ab45d4d41f937b27c5a877b52fa082bfc6809ea682b62b47a51333de
* The generalized indexed expression optimization of [2435112867fbd7b6] makesdrh2022-10-20
| | | | | | the prior [a47efb7c8520a011] enhancement from 2017 obsolete. This check-in removes the older optimization. FossilOrigin-Name: 56442c9bdd7844454c79acf83323380ea3509cb2e0b9a3d538a6b51726ae6d07
* Improved byte-code comments for the OP_Column opcodes used by thedrh2022-10-18
| | | | | indexed expression optimization. FossilOrigin-Name: bf6d837fddbf74d5b3f40ad01ea4564edfac00b651d6f3f0e996cc5dc18bb06c
* Improved comments and function names. No logic changes.drh2022-10-17
| | | FossilOrigin-Name: 8f460b3b15bf4b88a224907d2f83e4ed6bf84d6b3f480008a1b187ea49c6ce1d
* Merge trunk enhancements into index-expr-opt branch.drh2022-10-17
|\ | | | | FossilOrigin-Name: 56ef97e64efb84176df570819474901d492209ff80ce4355ff896dea9d2b8a51
| * Make use of alloca() in wherePathSolver() when SQLITE_USE_ALLOCA is defined.drh2022-10-17
| | | | | | FossilOrigin-Name: 45752471521f8d4a6cad4bce40f907018acd403ffd3b8170020c34e4e0b6b91b
* | Only extract an expression from an index when the index is not a null rowdrh2022-10-15
| | | | | | | | | | in an outer join. FossilOrigin-Name: 08b033c737d1a84859291f50e2985c9dad8d660a50185d55d3171165a8e08d4c
* | This experimental branch attempts to use columns for an index-on-expressiondrh2022-10-13
|/ | | | | | in place of the expression that is being indexed. This particular check-in mostly works, but there are still issues. FossilOrigin-Name: 2e8d4fd4cfd9e82f33c707ba246fe2bb3ca01762cf5ac5905058fbc7adf0abe7
* Merge trunk into fiddle-opfs as a preliminary step for a clean merge in the ↵stephan2022-10-12
|\ | | | | | | | | other direction. FossilOrigin-Name: 5e1848ce384a78fe5dfa1b5c1b2acb9c2fac34a8f0ba6c652e0541dcf24e9027
| * Change the name of the autoconf-generated configuration file from "config.h"drh2022-10-04
| | | | | | | | | | | | to "sqlite_cfg.h" to work around a bug in a dependency checker, reported in [https://twitter.com/josecastillo/status/1577136108097314816|a tweet from Jose Castillo]. FossilOrigin-Name: 897e187cad981126fc5f6ea8e382e937825af10b0c9589b0a23b9fbaa4ca58b8
* | Merge trunk into fiddle-opfs branch.stephan2022-10-01
|\| | | | | FossilOrigin-Name: 64ebcbe41615a6d7776597564105ea7638e4a9095a764ea558c2620640429cf8
| * Replace the Parse.disableVtab field with Parse.prepFlags for increaseddrh2022-10-01
| | | | | | | | | | generality, a small size reduction, and a small performance increase. FossilOrigin-Name: b7da0bcdf70e53ab1ec00a0694e17c7429e23bc6eb3f39b622d06a930aa2f6a3
* | Include the kv-vfs as an optional VFS on unix builds if thedrh2022-09-17
| | | | | | | | | | SQLITE_OS_KV_OPTIONAL compile-time option is present. FossilOrigin-Name: 852812d1e2ec3c53ad7c6c64662b37d861fefcf1baeee3d58eba88bcb3f6d8df
* | Move the vfskv.c extension to src/os_kv.c and make it part of the amalgamation,drh2022-09-10
|/ | | | | activated if and only if SQLITE_OS_KV is true. FossilOrigin-Name: f6632e69c2ec1a7ddc4e51f3567e3bc082ee94a6dd51fdafdc0c3bf386a32d4c
* Mutex protect access to the sqlite3_test_directory and sqlite3_data_directorydrh2022-09-02
|\ | | | | | | | | | | global variables. See [forum:/forumpost/719a11e1314d1c70|forum thread 719a11e1314d1c70]. FossilOrigin-Name: 8e6ad3a3e942a326cf16432e16d6596c7206c05b6f45cd0ff3a9b836bcfc9deb
| * Improved mutex protection of the sqlite3_temp_directory anddrh2022-09-02
| | | | | | | | | | sqlite3_data_directory global variables. FossilOrigin-Name: ebbe9634d6dde9e097f61fb98a79111e46de422b7bbbd9ed3af7b6f22aacf5ec
| * Experimental changes to put sqlite3_temp_directory behind a mutex.drh2022-09-02
|/ | | FossilOrigin-Name: 5ee3515fbb88bf1ae5f8b507844f82dcc429380b6ebeab9b09b52b25ee60a60d
* Performance enhancement for sqlite3DbFree().drh2022-08-22
| | | FossilOrigin-Name: c296a9d958ec360fc8d217363348b4918d665bccb3c4f27503a2dcef7db49052
* 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