aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
| * | | | Fix harmless compiler warnings.drh2024-05-21
| | | | | | | | | | | | | | | FossilOrigin-Name: aab59f9f7c1c4cfac4d29d7c7a381583295312baf3b9a75e30a617b1541e12e1
| * | | | Fix the -> and ->> operators so that when the RHS is a string that looks likedrh2024-05-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a number, it is still treated as a string, because that is what PG does. [forum:/forumpost/9e52cdfe15c3926e|Forum post 9e52cdfe15c3926e]. FossilOrigin-Name: de8182cf1773ac0d04268d896a613841cf6bf61f9f030342170657d5e06f2acb
| * | | | Improvements to the sqlite3_vtab_distinct() documentation.drh2024-05-20
| | | | | | | | | | | | | | | FossilOrigin-Name: 6ee041d34f292b94701919f51bbb9e12bcb9e0c4f45e4c0b83f30ff328070637
| * | | | Fix the definition of sqlite3_vtab_distinct() such that return codes 2 anddrh2024-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3 mean that all rows must be distinct over "colUsed" which is a superset of "aOrderBy". Also, disallow return codes 2 and 3 if the rowid of the virtual table is accessed. FossilOrigin-Name: 922731ce98c0ce7837784ff7966049e59fa73da2aa04abf3506503b6fc4aa048
| * | | | Improvements to a VDBE comment. No changes to anything that affects queries.drh2024-05-17
| |/ / / | | | | | | | | FossilOrigin-Name: c2188da860a1debd7c5d28b223deeef15035c33c2c5aefae9d9b620b6a2b4677
| * | | Add extra tests for the error messages generated by sqlite3_declare_vtab() ↵dan2024-05-16
| | | | | | | | | | | | | | | | | | | | when passed something other than a well-formed CREATE TABLE statement. FossilOrigin-Name: 5fa0c2a026f0467af3a76ea80cee8168b7a49553c350f642d1dff02ff9e7aeed
| * | | The sqlite3_declare_vtab() interface should return SQLITE_ERROR, notdrh2024-05-16
| | | | | | | | | | | | | | | | | | | | | | | | SQLITE_MISUSE when a nonsense SQL input is provided, for legacy compatibility. [forum:/forumpost/4b875d7b2a|Forum post 4b875d7b2a]. FossilOrigin-Name: 1ec2961a0341619ae88832942b52606b3246fc0de07ca6da0300e4bfc656ecf0
| * | | Back out the assert() fixes from [a9443dbfbe25e588] anddrh2024-05-15
| | | | | | | | | | | | | | | | | | | | | | | | [3afaeac56dff58db] (but keep the corresponding test cases) because they are both made obsolete by the previous fix on this branch. FossilOrigin-Name: 3120c7c8a3565b8a3ca321129c09db96839c2f9af1777fc7a1668fef81973603
| * | | Fix a case where an error in the ORDER BY clause of an aggregate function ↵dan2024-05-15
| | |/ | |/| | | | | | | | | | that is part of a trigger body might cause an assert() to fail in an ALTER TABLE command. FossilOrigin-Name: b79a8be37b44c1eff7d00f7af7cd9d0e13614ce5961bb88ddb9ec63f6a846c78
| * | The sqlite3FaultSim(300) error from [1e8863909ac369e5] must be treated asdrh2024-05-10
| | | | | | | | | | | | | | | | | | an OOM, since it simulates an OOM. Also fix deferred deletion of Expr objects from [a53bdd311c4154fd] so that it does not corrupt the AST if an OOM occurs. FossilOrigin-Name: c623d9a51e0ae6b4a8e1186714d14e7aa3df55246e123323481f07f07749dea5
| * | Improvements to the ".testctrl fault_install" command in the CLI.drh2024-05-10
| | | | | | | | | FossilOrigin-Name: 48b34ded82d0cec8a7dd67431f057b320b8c459b1b78c0fbf79bc2b355e85d4e
| * | Add an sqlite3FaultSim(300) call to the sqlite3ParserAddCleanup() routinedrh2024-05-10
| | | | | | | | | | | | | | | for more precise simulation of OOM errors in that routine. FossilOrigin-Name: 1e8863909ac369e5e62e82e53b6e5a7cc6794100cef281ede00b0bb9bbc28594
| * | Squelch two OMIT-flag-related warnings reported in ↵stephan2024-05-10
| | | | | | | | | | | | | | | [forum:388243d9882067a9|forum post 388243d9882067a9]. No functional changes. FossilOrigin-Name: 1d6716054d7fc50df237996c3db30e5fb8e32acbf48cb8b9af472360515945c4
| * | Rename a shadowed local var, as reported in [forum:2ba65af3148585cf|forum ↵stephan2024-05-08
| |/ | | | | | | | | post 2ba65af31]. No functional changes. FossilOrigin-Name: d030c87c4d410e9ca2b90ec7cb63e752f4490c60e2feac84f233861593142c7d
| * Ensure successive scans of pragma virtual tables return consistent rowids.dan2024-05-07
| | | | | | FossilOrigin-Name: 6838bf3ac130c5862f5fbc718b3e49ece154fa840b6539af2616cffa31e73808
| * Omit redundant unary + operators from the AST.drh2024-05-06
| | | | | | FossilOrigin-Name: f81cc149e5e308785502b36e83eaaf3d31c72520793e0596d5496abd70f9cda8
| * Avoid unnecessary recursion in sqlite3ExprDeleteNN(). This complicates thedrh2024-05-06
| | | | | | | | | | | | code, but it is needed to prevent nuisance "stack overflow" reports from OSSFuzz while it is running the latest ASAN. FossilOrigin-Name: 70abc144ca90a58ea25dc2d90683545246c084d961215c20ec070b0abe640371
| * Assume that a function is able to return a subtype if either (1) it is itselfdrh2024-05-04
| | | | | | | | | | | | | | | | marked with SQLITE_RESULT_SUBTYPE, or (2) one of its arguments is a function that is able to return a subtype. This check-in backs out the code changes from the previous two on this same branch, but keeps the test cases from the previous two. FossilOrigin-Name: f16b200f25a0ec59ad765d254d81c3ffdba21f79e6e82807a7b80d00627952e2
| * Functions that pass through the sqlite3_value of one of their arguments mustdrh2024-05-04
| | | | | | | | | | | | also be marked as SQLITE_RESULT_SUBTYPE, in case one of their arguments has a subtype. FossilOrigin-Name: 2f9fba931d9f80b3d5dffb175180098756bccc6a8f665d7aaf8826970ab60d72
| * The coalesce(), ifnull(), and iif() functions pass through subtype valuesdrh2024-05-03
| | | | | | | | | | | | from their arguments, and hence need to have the SQLITE_RESULT_SUBTYPE flag set. This fixes an corner-case for the patch at [ba789a7804ab96d8]. FossilOrigin-Name: cdd1610c44876623e629bb8e5779ea689e6d23c545552b088eca63ad2d1cf8da
| * Fix a problem with queries that use "IN(...) ORDER BY ... NULLS LAST" or ↵dan2024-05-02
| | | | | | | | | | similar introduced by [d7648e21605a0b38]. FossilOrigin-Name: 26b2d9390f1273ee0e3f3c96f6bc5bf0e9c1dcfd0d9ecd993dba487ef5a07f7e
| * Avoid an assert failure accessible only when internal testing features are ↵dan2024-05-02
| | | | | | | | | | enabled. dbsqlfuzz crash-66abacda6bca6bd531e25595e8c8068e2c710326.txt. FossilOrigin-Name: fbc446daac761dd1b66a85c9b61e1d5af194a8fd665600c43a874da38cc6ec10
| * Avoid an OP_Next in cases where an IN(...) query against a UNIQUE index may ↵dan2024-05-02
| |\ | | | | | | | | | | | | return at most 1 row. FossilOrigin-Name: d7648e21605a0b381b1935a47e5a77bdfacc4cc96f03d6bb7956f8f4e6a40648
| | * Avoid an OP_Next in cases where an IN(...) query against a UNIQUE index may ↵dan2024-05-01
| | | | | | | | | | | | | | | return at most 1 row. FossilOrigin-Name: 560f64157d2fe40e107582eebb6526185c9c43305e364f4132e182dbec5b210a
| * | Do not accept a string that looks like a number used as an argument todrh2024-05-02
| | | | | | | | | | | | | | | | | | PRAGMA integrity_check as a number. Treat it as a table name that just happens to look like a number. FossilOrigin-Name: b04e7a23478f1012e501a810f3e09cca81a66e802f5f72cae80c81120174e2cb
| * | Omit the OP_SqlExec to "PRAGMA integrity_check" added by [348fa7aaf7958b3f]drh2024-05-02
| |/ | | | | | | | | | | because it is a no-op. Even if the integrity_check failes, the CREATE TABLE is stull successful. The OP_SqlExec just burns CPU cycles for no reason. FossilOrigin-Name: 532795acd1c800751737fe70148f9ae691e9cf11b836577f8538421d24cab2fe
| * Avoid 32-bit overflow when calculating ncycle for ".scanstats vm".dan2024-04-30
| | | | | | FossilOrigin-Name: 2858efa06d4fc7b412b892f35f5e9a766b467b4a5b74d602a030d25443f9efb4
| * Fix issues in [/info/1e227ad9f413227f|LIMIT/OFFSET support for virtual tables].drh2024-04-26
| |\ | | | | | | | | | | | | | | | | | | | | | The first problem was reported by [forum:/forumpost/c243b8f856|forum post c243b8f856]. That report prompted an enhancement to the generate_series() (also included in this merge) which in turn identified other similar issues. FossilOrigin-Name: 5f6c079d847e3664ec5acaf1b3e989efe0d548c211ae4a18936162b36df89065
| | * Allow virtual table implementations to handle OFFSET but not LIMIT, but not ↵dan2024-04-26
| | | | | | | | | | | | | | | LIMIT but not OFFSET. FossilOrigin-Name: 90e5c8226a695e838e8c1703a9b8598e654d216799e8806c4d1a1f20c28c6486
| | * Have where.c ignore any plan from a virtual table that tries to use ↵dan2024-04-26
| | | | | | | | | | | | | | | LIMIT/OFFSET without also using all WHERE constraints. FossilOrigin-Name: 7d30596496c6a7a37b925f13d8d94d5de224ec31bb86594fa4cc07b10082e776
| | * Fix a problem allowing a LIMIT constraint to be passed to a virtual table in ↵dan2024-04-26
| | | | | | | | | | | | | | | cases where there exist WHERE terms that cannot also be passed. FossilOrigin-Name: 72c8ed9698dd2aadee7b84fd293e8306233f0fe5b5b5731687482444fdf461c7
| | * Fix handling of LIMIT and OFFSET in virtual tables that are part ofdrh2024-04-26
| | | | | | | | | | | | | | | a compound SELECT. FossilOrigin-Name: 40421c1c4ed5bb1ed79ad7ee37cb5a4f0b7864c1eb94abd8ee357ab2202cad30
| * | Fix the TreeView display of a LIMIT clause on a compound query. Debuggingdrh2024-04-26
| |/ | | | | | | | | code only - not part of production builds. FossilOrigin-Name: 38f1e5ce4eedd59fbeb0a0d676d26dfe8a3313189ab9b9e4a5a1ed6721b73a14
| * Further improvements to the computation of affinity for compound subqueries:drh2024-04-25
| | | | | | | | | | | | make sure that the selected affinity is compatible with a literal values in arms to the left of the arm that is used to determine affinity. FossilOrigin-Name: bbdf22e3d989f42b963f1f2f219dfeac11db786f17ac27097ab72f72e7638a2a
| * Back out the previous change on this branch. In its place: Determine thedrh2024-04-25
| | | | | | | | | | | | | | | | | | affinity of a subquery by the left-most arm of the subquery that has an affinity other than NONE. In other words, scan from left to right looking for an arm of the compound subquery with an affinity of BLOB, TEXT, INTEGER, or REAL and pick the first one found. Or stay with NONE if no arm has a defined affinity. Test cases added. FossilOrigin-Name: b8ec8511b1968bbc1472b3e2e21f0fef1d5becebeb31f9d13ee3ca9e13abb1e5
| * An experimental minor tweak to the way affinities are computed for compounddrh2024-04-24
| | | | | | | | | | subqueries, when the actual affinity is ambiguous. FossilOrigin-Name: 779723ad792ca24dd07b7a1425303c76b44bb173e718a33c26c9f7644e9912cb
| * If a RETURNING clause contains a subquery that references the table that isdrh2024-04-24
| | | | | | | | | | | | | | | | being updated in the statement that includes the RETURNING clause, then mark the subquery as correlated sot hat it is recomputed for each result and not just computed once and reused. See [forum:/forumpost/2c83569ce8945d39|forum post 2c83569ce8945d39]. FossilOrigin-Name: 9ea6bcc8fdf6aadb756ec5bcaaa7af314167f8973bdd32fd23f83bd964f0c21e
| * Fix a case where a corrupt stat4 record could go unrecognized due to integer ↵dan2024-04-24
| | | | | | | | | | overflow. FossilOrigin-Name: 240a4a48b27a2b1070bba6d7da76a8df8e3f1808e262045d7ad2cf910df08f3d
| * Add comments linking the assert() added in [cef4d9e3ba586735] to the placesdrh2024-04-24
| | | | | | | | | | where the precondition that the assert() tests are actually required. FossilOrigin-Name: 6f0e7e195275aeb4aefd9da20348af35e3ef7f0a6b2768a34824daeace16eff1
| * Avoid slowdown when exprNodeIsConstant() is called on deeply nested SQL ↵dan2024-04-24
| | | | | | | | | | functions. FossilOrigin-Name: 1c0b0345451853846076467831884f951c92ec79476be40ce7f7b766fd2d8fc1
| * Ensure that temporary SrcItem objects created by trigger processing havedrh2024-04-24
| | | | | | | | | | | | either SrcItem.zName or SrcItem.pSelect defined. Every SrcItem should have one or the other. FossilOrigin-Name: cef4d9e3ba586735598f03eb5e8f29072c9e6f62b0d34ddd2fb3ed1795f6e21c
| * Fix a problem with vector IN operators used with an index where the affinitiesdrh2024-04-23
| |\ | | | | | | | | | | | | and collations for the various vector terms are different. FossilOrigin-Name: 86e8c782e7494377de3c27b750cd83a7eb2302c1182ee2004d3864db50fca557
| | * Fix an uninitialized variable problem in the new code on this branch.dan2024-04-23
| | | | | | | | | FossilOrigin-Name: 85625b38718c6e4cf7aa97fa3c52153bd25c810b68f19e7924e1f4b709c6a05d
| | * Slight performance improvement for the new code on this branch.dan2024-04-20
| | | | | | | | | FossilOrigin-Name: 500c67f1341fe2a7e7333d525c90df201cc73a683b943ad5c1e41d4a4f639043
| | * Fix a problem where an expression like (a, b) IN (SELECT ...) might not use ↵dan2024-04-20
| | | | | | | | | | | | | | | an index on (a, b) if the affinities and collation sequences of "a" and "b" are not identical. FossilOrigin-Name: 4d870fd8b5450047a7486fc023d1ac9439642e8ed91eadfd5026c4cda7cc9179
| * | Extra robustness in the code that causes cursors to return NULL when theydrh2024-04-22
| | | | | | | | | | | | | | | are participating in an OUTER JOIN. FossilOrigin-Name: 672c2869ef48e08447d37b0d76a1850cdafbe30ca1906ec98c55e3ab496fd9a6
| * | Continuation of the fix at [8c0f69e0e4ae0a44]: If a viaCoroutine FROM clausedrh2024-04-22
| | | | | | | | | | | | | | | | | | | | | term is participating in a RIGHT or FULL JOIN, we have to create an always-NULL pseudo-cursor for that term when processing the RIGHT join. dbsqlfuzz 6fd1ff3a64bef4a6c092e8d757548e95698b0df5. FossilOrigin-Name: e1040e51ebd04f2a076f477b6f240f849afb10f543ebe518e09d6842cc3cb38e
| * | Fix an indentation problem in debugging routine sqlite3ShowSrcList(). Nodrh2024-04-21
| |/ | | | | | | | | changes to production code. FossilOrigin-Name: 5560df2726fed215c98d602c5f6ebbf3c5ae23f8ba1074291c509bf446fdfe66
| * Correct handling of OUTER JOIN when on or the other operand is a subquerydrh2024-04-18
| | | | | | | | | | | | implemented using the VALUES-as-coroutine optimization. dbsqlfuzz bde3bf80aedf25afa56e2997a0545a314765d3f8. FossilOrigin-Name: 8c0f69e0e4ae0a446838cc193bfd4395fd251f3c7659b35ac388e5a0a7650a66
| * The first assert() added in [0ebc65481f4a3e79] is not necessarily true in adrh2024-04-15
| | | | | | | | | | corrupt database file. So add a term to make it true. FossilOrigin-Name: 6b21cccdeec92db9f6ce3dd7ea5e61b8b46650cc1e550271aa51bdc619f55b11