/ Timeline
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

100 descendants of [6b518635]

2014-01-16
18:34
Allow only a single recursive reference in a recursive CTE. Also require that this reference is not part of a sub-query. check-in: a296b733 user: dan tags: common-table-expr
15:31
Always use available indices to optimize LIKE operators even if the pattern of the LIKE operator has a COLLATE modifier. This fixes an ineffiency that was introduced into 3.7.15 by check-in [8542e6180d4] on 2012-12-08. check-in: 16bd5478 user: drh tags: trunk
10:58
Disable the flattening optimization if the parent query is the recursive part of a recursive CTE and the sub-query is a compound query. check-in: 6bfa387e user: dan tags: common-table-expr
04:37
Merge trunk changes. Fix a possible NULL-pointer deference in WITH clause name resolution. check-in: 7f953b56 user: drh tags: common-table-expr
2014-01-15
20:10
Remove an ALWAYS() that is no longer always true. check-in: c95823cd user: drh tags: common-table-expr
19:42
Fixes so that SQLITE_OMIT_CTE builds work. check-in: 3908e2ea user: dan tags: common-table-expr
18:35
Further comments on WITH-clause processing routines in select.c. check-in: c948384d user: drh tags: common-table-expr
18:23
Add a header comment to the searchWith() routine. check-in: d9ae0f5d user: drh tags: common-table-expr
18:21
Disable automatic indices on recursive CTE references. check-in: 28aa6db8 user: dan tags: common-table-expr
18:12
When resolving names, consider a reference to a recursive CTE column as equivalent to a reference to the outermost name-context. This ensures that correlated sub-queries are correctly identified as such. check-in: 61be2da0 user: dan tags: common-table-expr
15:27
Return an error if a CTE specifies a different number of columns than its SELECT statement returns. check-in: 9a514b50 user: dan tags: common-table-expr
14:40
Don't try to verify the schema of transient table (such as generated inside a WITH clause) when generating code for "IN table" operators. check-in: 860aa936 user: drh tags: common-table-expr
14:17
Disable the flattening optimization if the sub-query is a recursive CTE. check-in: 9472f6d8 user: dan tags: common-table-expr
02:40
Use the user-supplied table name in WITH RECURSIVE tables as the internal name of the table and the name of the table in VDBE comments. check-in: a2933023 user: drh tags: common-table-expr
2014-01-14
20:14
Add code to handle recursive CTEs. check-in: a5c2a54a user: dan tags: common-table-expr
10:17
Fix harmless compiler warning in LEMON. check-in: f61a7058 user: mistachkin tags: trunk
10:17
For the Win32 VFS, defining winShmMutexHeld should be controlled by NDEBUG, not SQLITE_DEBUG. check-in: 1e131094 user: mistachkin tags: trunk
2014-01-13
20:38
In the command-line shell, defend against a NULL-pointer dereference in the case where sqlite3_column_name() returns NULL (as might happen following an OOM error). check-in: ac15455a user: drh tags: trunk
20:32
For statements of just an unadorned VALUES clause, assign column names as "columnN" for increasing whole numbers N. check-in: 260587d2 user: drh tags: trunk
16:36
Fix some memory leaks and crashes that could follow an OOM condition during WITH clause parsing. check-in: 8839850c user: dan tags: common-table-expr
15:12
Add code to handle non-recursive CTEs in the same way as SQL views. check-in: a26f399b user: dan tags: common-table-expr
2014-01-11
19:19
Update the parser so that sub-queries and CTEs may have WITH clauses. check-in: 704d3931 user: dan tags: common-table-expr
13:22
Parse common table expressions. But do not do anything with them (yet). check-in: da98b720 user: drh tags: common-table-expr
12:52
In LEMON, limit the size of the grammar file to 100MB. This ensures that the program will never experience integer overflow. To be doubly sure, use calloc() instead of malloc() when allocating arrays. check-in: 29ba458d user: drh tags: trunk
03:54
Optimizations to the SQL language grammar that result in a small size reduction and speed increase. check-in: cb5d1f83 user: drh tags: trunk
03:27
Add the "%token_class" directive to the LEMON parser generator. This opens up the possibility of simplifying the parser. Also remove all calls to sprintf(), strcpy(), and strcat() from LEMON to avoid compiler warnings on OpenBSD. (Aside: It is this change to avoid harmless compiler warnings that was the cause of the reason spat of bugs.) check-in: 8eb48c04 user: drh tags: trunk
03:13
Add the "%token_class" directive to the LEMON parser generator. This opens up the possibility of simplifying the parser. Also remove all calls to sprintf(), strcpy(), and strcat() from LEMON to avoid compiler warnings on OpenBSD. Closed-Leaf check-in: 4e4483b2 user: drh tags: buggy-lemon
03:06
In LEMON, fix a bug in the text formatter introduced by the previous commit. Also add the new "%token_class" directive for defining symbolic names that stand any one of a collection of tokens. Closed-Leaf check-in: da7890ca user: drh tags: lemon-updates
2014-01-10
23:21
Do not use sprintf(), strcpy() or strcat() in the implementation of the lemon parser generator tool, to avoid compiler warnings in OpenBSD. check-in: e43c522d user: drh tags: lemon-updates
20:51
Remove unused structure definition from parse.y. check-in: 7f1e7ae3 user: drh tags: trunk
20:46
Allow a VALUES clause to be used any place that a SELECT statement can be used. check-in: c9ea7d19 user: drh tags: trunk
20:38
Fix CREATE TABLE ... AS so that it works with column names that are empty strings. check-in: 632045f2 user: drh tags: trunk
16:40
Fix another harmless compiler warning in unixUnfetch(). check-in: 0484549b user: dan tags: trunk
2014-01-09
13:39
Fix harmless compiler warning in unixUnfetch(). check-in: 618f248f user: drh tags: trunk
2014-01-06
18:32
Start a new experimental branch for support of Oracle-style CONNECT BY syntax. Closed-Leaf check-in: 4365ddd6 user: drh tags: connect-by
2014-01-04
20:00
Fix an typo that breaks the build when SQLITE_ENABLE_TREE_EXPLAIN is defined. check-in: f461e2b3 user: drh tags: trunk
19:58
Add the usual "fts3" prefix to new static method setEstimatedRows() in fts3.c. This fixes a problem when compiling the amalgamation, as the r-tree module also contains a static method named setEstimatedRows. check-in: d6fcfc88 user: dan tags: trunk
19:27
Avoid redundant register loads during index key generation when doing a DELETE or INTEGRITY_CHECK on a table with multiple indices. check-in: 8f6e6149 user: drh tags: trunk
16:49
Omit OP_Close operations that occur immediately prior to OP_Halt and which cannot be jumped over. check-in: 874b7e99 user: drh tags: trunk
15:17
Improvements to the column-cache for nested AND/OR operators. check-in: 4e725f53 user: drh tags: trunk
14:46
Have FTS assign extremely high costs to plans that feature unusable MATCH constraints. This discourages the planner from choosing such plans, which lead to "unable to use function MATCH in the requested context" errors. check-in: fa8be488 user: dan tags: trunk
14:42
Instead of having the planner ignore plans with unusable MATCH constraints, have FTS assign extremely high costs to such plans in order to discourage the planner from using them. Closed-Leaf check-in: 24f84b38 user: dan tags: avoid-unusable-match
14:16
Have the planner detect cases where a MATCH constraint is applied to a virtual table, and ignore any plans that do not allow the virtual table implementation to implement the MATCH filtering. check-in: 19f3208b user: dan tags: avoid-unusable-match
2014-01-03
16:03
Avoid some unnecessary OP_SCopy operations when inserting into a table with multiple indices. check-in: 429018b1 user: drh tags: trunk
2014-01-02
21:05
Try to factor constant subcomponents of the WHERE clause out of the loop. check-in: 9d05777f user: drh tags: trunk
19:35
Avoid unnecessary affinity transformations when building indices using data from a table. check-in: 10d85135 user: drh tags: trunk
17:57
Be more aggressive in optimizing constant conditional expressions. check-in: b7e39851 user: drh tags: trunk
2014-01-01
15:18
Try to detect process ID changes due to fork() calls in os_unix.c and reset the PRNG when a process ID change is detected. check-in: e1eba1fb user: drh tags: trunk
14:00
Enhance sqlite3_randomness(N,P) such that it resets the internal PRNG if N is less than 1. Subsequent calls to sqlite3_randomness() will reinitialize the internal PRNG by calling the xRandomness() method of the default VFS. check-in: a221aa82 user: drh tags: trunk
2013-12-24
12:09
Merge the latest trunk changes into the sessions branch. check-in: cfd110bf user: drh tags: sessions
12:04
Add -I. to the main.mk makefile for building sqlite3.o and speedtest1. check-in: cc72c5ae user: drh tags: trunk
2013-12-23
19:09
Move elements of the Vdbe object that are only used during statement preparation out into the Parse object. check-in: c289a253 user: drh tags: trunk
11:33
Remove a stray tab character. check-in: 25b8a1c9 user: drh tags: trunk
2013-12-22
22:45
Remove a condition that is always in the logic that handles reading default values for columns. check-in: 895af097 user: drh tags: trunk
20:44
Make sure the WhereLoop.aLTerm[] array is large enough when processing the skip-scan optimization. Fix for ticket [520070ec7fbaac]. check-in: 46d04059 user: drh tags: trunk
2013-12-21
17:14
Fix speedtest1.c so that in --explain mode it only outputs non-explain text for DDL statements. check-in: 2d2b3c49 user: drh tags: trunk
17:07
Avoid compiler warnings by only enabling sqlite3ErrName() when SQLITE_TEST is defined. check-in: 862228e5 user: drh tags: trunk
16:06
Fix harmless compiler warnings in FTS4. This involved corrupting Martin Porter's beautifully written and elegant stemmer code, making it a little less beautiful and a little less elegant. Today is a sad day. But the warnings from GCC grow increasingly verbose and irksome with each new release and so something had to be done. check-in: df056798 user: drh tags: trunk
15:46
Fix the ".echo on" dot-command of the shell so that it echos comments in addition to SQL statements and dot-commands. Add the --explain option to speedtest1 so that the output can be piped into the command-line shell to show nicely-formated VDBE code for the entire test. check-in: 96397263 user: drh tags: trunk
00:04
Add a case to speedtest1.c that demonstrates the need to factor OP_Column operators out of inner loops. check-in: 69a17336 user: drh tags: trunk
2013-12-20
18:57
Fix compiler harmless warnings in tclsqlite.c that appeared with GCC 4.8.x. check-in: d93ae683 user: drh tags: trunk
18:44
Code simplification in sqlite3GenerateIndexKey() by making use of a subroutine found over in expr.c. check-in: 0026d335 user: drh tags: trunk
15:59
Combine adjacent single-register OP_Copy instructions into a single multi-register OP_Copy, where possible. Fix the Synopsis comment for multi-register OP_Copy instructions to show the correct register ranges. check-in: 2ae22dc0 user: drh tags: trunk
14:48
Allow any arbitrary expression as the filename in an ATTACH statement, including functions and subqueries. check-in: df70a1f3 user: drh tags: trunk
13:11
Simplify the accumulator reset for aggregate query processing so that it uses a single multi-register OP_Null rather than a separate OP_Null for each register. check-in: 2c7fd9b0 user: drh tags: trunk
2013-12-19
17:04
Do not inject OOM faults into SQLITE_FCNTL_COMMIT_PHASE_TWO file-control invocations. It causes problems for test scripts. check-in: 8eb28d23 user: dan tags: trunk
16:26
Make sure errors encountered while initializing extensions such as FTS4 get reported out from sqlite3_open(). This fixes a bug introduced by check-in [9d347f547e7ba9]. Also remove lots of forgotten "breakpoint" commands left in test scripts over the years. check-in: ca3fdfd4 user: drh tags: trunk
14:34
Remove an unneeded column-cache flush in aggregate SELECT and an unreachable branch in the INSERT logic. check-in: ffa092e1 user: drh tags: trunk
02:56
Omit an unnecessary OP_Null opcode from UPDATE. check-in: 72d11133 user: drh tags: trunk
02:23
Omit one or more pointless instructions that occur in between OP_NoConflict and OP_Halt. check-in: 61e2f357 user: drh tags: trunk
2013-12-18
18:44
Remove an unnecessary column-cache flush operation. Add code to trace the column cache when compiled with SQLITE_DEBUG and using PRAGMA vdbe_addoptrace=ON. check-in: 58704ed1 user: drh tags: trunk
16:27
Remove an unnecessary column-cache flush. Add another test case to the speedtest1.c program to accentuate the benefit of not flushing the cache at that point. Closed-Leaf check-in: 97fdfc6b user: drh tags: column-cache-debug
15:11
Show changes to the column cache when PRAGMA vdbe_addoptrace=ON is set. check-in: 4c6a659c user: drh tags: column-cache-debug
2013-12-17
16:32
Add evidence marks and additional test cases for the printf() SQL function. check-in: 93121d30 user: drh tags: trunk
16:10
Add the printf() SQL function. check-in: a1bb62f9 user: drh tags: trunk
15:58
Fix the formatting of %c in the printf() SQL function. Closed-Leaf check-in: 3375571a user: drh tags: printf-sql-function
15:03
Add the printf() SQL function. check-in: 6db7052e user: drh tags: printf-sql-function
2013-12-14
18:24
Merge in all recent preformance enhancements from trunk. check-in: 32477642 user: drh tags: sessions
13:44
Allow the SQLITE_DETERMINISTIC flag to be ORed into the preferred text encoding of application-defined functions, to mark the function as deterministic. check-in: 5716fc23 user: drh tags: trunk
2013-12-13
20:45
Performance optimizations in the pager_write() routine of pager.c. check-in: bc5febef user: drh tags: trunk
19:48
Reduce the number of calls to the subjRequiresPage() routine inside of pager. check-in: e50ff39a user: drh tags: trunk
19:35
Create and use a new pager interface sqlite3PagerUnrefNotNull() that works just like sqlite3PagerUnref() but guarantees that its argument is not a NULL pointer. check-in: e00f37e2 user: drh tags: trunk
18:50
Enhance the pcache1PinPage() routine so that it called much less often and runs much faster in the cases when it is actually called. check-in: a845779c user: drh tags: trunk
16:42
Avoid unnecessary calls to sqlite3_free() from within sqlite3VXPrintf(). check-in: e2a8b280 user: drh tags: trunk
16:23
Simplication and optimization of error message handling. check-in: 9d347f54 user: drh tags: trunk
2013-12-11
15:47
Add the SQLITE_FCNTL_SYNC and SQLITE_FCNTL_COMMIT_PHASETWO file-controls and have the pager call them at appropriate times. This is needed in order to enable ZIPVFS to do multi-file atomic commits. check-in: 552f94d5 user: drh tags: trunk
14:17
Merge in the latest trunk changes. Closed-Leaf check-in: 9ff4dfe1 user: drh tags: zipvfs-multifile-commit
14:00
Fix a bug in the shell ".import" command: Do not end the field when an escaped double-quote occurs at the end of a CRNL line. check-in: 5e239ecd user: drh tags: trunk
12:02
Remove an unreachable conditional inserted by the previous check-in. check-in: 3e1d55f0 user: drh tags: trunk
11:03
Have the crash-test infrastructure code in test6.c read and write the 512-byte block containing the pending-byte lock as normal. Earlier versions did not access this part of the file in order to avoid triggering an assert in os_unix.c. But the assert() has since been removed. And not reading/writing this part of the file causes problems for multiplexor tests. check-in: fdc3f3fa user: dan tags: zipvfs-multifile-commit
11:00
Fix harmless compiler warnings. check-in: a7e5fcd6 user: drh tags: trunk
02:21
Fix harmless compiler warning. check-in: 2525296d user: mistachkin tags: trunk
00:59
Do not run the tool/vdbe-compress.tcl script that generates the vdbeExecUnion object that reduces the size of the sqlite3VdbeExec() stack frame unless the SQLITE_SMALL_STACK compile-time option is specified as on of the OPTS in the makefile. The vdbeExecUnion object gets in the way of C-compiler optimizer and results in slightly slower code. check-in: 4d078147 user: drh tags: trunk
2013-12-10
21:38
Avoid unnecessary calls to sqlite3VdbeSerialType() from within sqlite3VdbeSerialPut(). check-in: 079c04a5 user: drh tags: trunk
20:53
In the OP_MakeRecord opcode, factor out affinity changes into separate loop, for a slight performance advantage. check-in: 1c6ee9b8 user: drh tags: trunk
19:49
Simplify and improve the performance of the sqlite3VdbeMemGrow() routine. check-in: 48ecf187 user: drh tags: trunk
17:34
Use SQLITE_FCNTL_SYNC instead of SQLITE_FCNTL_SYNC_OMITTED. Add documentation in for FCNTL_SYNC and FCNTL_COMMIT_PHASETWO. check-in: 46231af9 user: dan tags: zipvfs-multifile-commit
16:35
Merge changes from the trunk. check-in: 3ee736a3 user: dan tags: zipvfs-multifile-commit
2013-12-09
23:17
Simplifications to the OP_MakeRecord opcode and the sqlite3VdbeSerialPut() helper function. check-in: 7277a769 user: drh tags: trunk
21:48
Correct the VFS name as reported by the file control when explicitly using the 'win32-longpath' VFS. check-in: c43b59da user: mistachkin tags: trunk
21:06
Reduce the number of times that OP_Column calls sqlite3VdbeMemMakeWriteable(). check-in: 6b518635 user: drh tags: trunk