SQLite

Timeline
Login

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

61 check-ins using file src/main.c version b2592b41

2013-08-15
19:56
Fix a crash that can occur if the sqlite_stat3 or sqlite_stat4 table is corrupt. (check-in: d51df8a8 user: dan tags: sqlite_stat4)
18:43
Fix a crash that can occur following an OOM fault. (check-in: 9f80b268 user: dan tags: sqlite_stat4)
16:18
Change some assert() statements in vdbe.c to ensure that a memory cell used to store a VdbeCursor object is not also used for some other purpose. (check-in: 71070c9f user: dan tags: sqlite_stat4)
16:15
Make sure the ANALYZE command allocates enough VDBE registers. (check-in: 46fec9b1 user: drh tags: sqlite_stat4)
14:39
Add tests for sqlite_stat4 sample selection. And a fix for the same. (check-in: 1fb4d9d6 user: dan tags: sqlite_stat4)
2013-08-14
19:54
Change the way ANALYZE works to use a single cursor when scanning indices. (check-in: bdce612b user: dan tags: sqlite_stat4)
2013-08-12
20:14
If ENABLE_STAT3 is defined but ENABLE_STAT4 is not, have ANALYZE create and populate the sqlite_stat3 table instead of sqlite_stat4. (check-in: cca8bf43 user: dan tags: sqlite_stat4)
17:31
If there is data in both the sqlite_stat4 and sqlite_stat3 tables for a single index, ignore the sqlite_stat3 records. (check-in: 2a417367 user: dan tags: sqlite_stat4)
17:00
Handle a NULL input to decodeIntArray() that can result from a prior OOM. (check-in: fa1588ad user: drh tags: sqlite_stat4)
16:34
Re-enable reading from the sqlite_stat3 table (as well as sqlite_stat4). (check-in: 6d45078e user: dan tags: sqlite_stat4)
11:21
Fix a bug in calculating the average number of entries for keys not present in the sqlite_stat4 table. (check-in: ec3ffb17 user: dan tags: sqlite_stat4)
09:29
Fix minor problems caused by adding the rowid to the records in stat4. (check-in: 088d1ff9 user: dan tags: sqlite_stat4)
2013-08-10
19:08
Add the rowid field to the end of sample records stored in the sqlite_stat4 table. (check-in: 3a5e8ab7 user: dan tags: sqlite_stat4)
2013-08-09
19:04
Fix a couple of typos in a comment in analyze.c. No code changes. (check-in: 5bcccb93 user: dan tags: sqlite_stat4)
14:07
Update the header comment on analyze.c to describe the sqlite_stat4 table format. (check-in: 4d97809d user: drh tags: sqlite_stat4)
2013-08-08
19:38
Fix problems in estimating the number of rows visited by a range query using sqlite_stat4 data when the column subject to the range query is not the leftmost of the index. (check-in: 9228aaf5 user: dan tags: sqlite_stat4)
16:17
Use a binary search instead of a linear scan when comparing a sample key against data from the sqlite_stat4 table. (check-in: e50dc305 user: dan tags: sqlite_stat4)
12:21
Fix a segfault in "ALTER TABLE t1 ADD COLUMN b DEFAULT (-+1)". Also an assert() failure that could occur if SQLITE_ENABLE_STAT4 were not defined. (check-in: 9fec3e38 user: dan tags: sqlite_stat4)
11:48
Fix a bug in using stat4 data to estimate the number of rows selected by a range constraint. (check-in: f783938e user: dan tags: sqlite_stat4)
2013-08-07
19:46
Replace variable Index.avgEq (average number of rows in keys for which there is no sample in sqlite_stat4) with vector Index.aAvgEq. (check-in: 7b70b419 user: dan tags: sqlite_stat4)
18:42
Merge latest trunk changes with this branch. (check-in: 08f74c45 user: dan tags: sqlite_stat4)
16:38
Fix typos in a comment in analyze.c. No code changes. (check-in: 812ed0c5 user: dan tags: sqlite_stat4)
16:15
Change the way samples for the sqlite_stat4 table are collected. (check-in: 13ed5ac1 user: dan tags: sqlite_stat4)
16:04
Fix the ".dump" command on the command-line shell so that it works for "sqlite_stat4" in addition to "sqlite_stat1". (check-in: 1e80c4b1 user: drh tags: sqlite_stat4)
15:57
Remove the unused sqlite3Utf8to16() utility function. (check-in: 9159b43e user: drh tags: sqlite_stat4)
15:52
When estimating the number of rows scanned using data from the sqlite_stat4 table, avoid allocating UnpackedRecord and KeyInfo structures until they are definitely required. (check-in: 353950a5 user: dan tags: sqlite_stat4)
14:18
Add a guard #ifndef to test_intarray.h to prevent harm if it is #included more than once. Add a comment on the closing #endif of the guards on sqlite3.h and test_multiplex.h. (check-in: 0ad83ceb user: drh tags: trunk)
01:18
Fix typos and add clarification to comments in where.c. No code changes. (check-in: f8d8790e user: drh tags: trunk)
2013-08-06
20:15
Fixes for builds without SQLITE_ENABLE_STAT4. (check-in: 84999e27 user: dan tags: sqlite_stat4)
20:01
When possible, use the multi-column samples in sqlite_stat4 to estimate the number of index rows scanned by a query plan. (check-in: 2973f5ca user: dan tags: sqlite_stat4)
19:18
Fix a test case related to partial indices so that it works even if STAT3 is disabled. (check-in: 153c6450 user: drh tags: trunk)
18:35
Adjust #ifdefs in test_autoext.c so that it compiles with SQLITE_OMIT_LOAD_EXTENSION. Fix compiler warnings in two other test modules. No changes to the core. (check-in: 89930ea3 user: drh tags: trunk)
18:21
Update the configure script to use the latest version number (3.8.0). (check-in: 52e8ec5e user: drh tags: trunk)
17:24
Add a testcase() macro to verify OOM coverage. (check-in: d43dcbc4 user: drh tags: trunk)
16:56
Remove unreachable branches in expr.c, replacing them with assert() and testcase() statements. (check-in: 9103c27c user: drh tags: trunk)
14:36
For the ".import" command of the command-line shell, start a transaction if there is not one active already. (check-in: 5dcc2d91 user: drh tags: trunk)
14:01
Clean up the input reader in the command-line shell for improved legibility and performance. (check-in: 2b1743d6 user: drh tags: trunk)
07:45
More than double the speed of the resolveP2Values() routine in vdbeaux.c by moving from an extended if-else on every opcode to a switch. Opcodes are reordered in mkopcodesh.awk to put the switched opcodes close together, for additional performance and to reduce code footprint. (check-in: 924f7e4d user: drh tags: trunk)
2013-08-05
22:05
Performance optimization: Avoid calling convertCompoundSelecctToSubquery() on queries that do not use the UNION, EXCEPT, or INTERSECT operators. (check-in: c589b2fe user: drh tags: trunk)
21:54
For the vtshim module, always zero out the xChildDestroy function pointer after calling it. (check-in: 240f7252 user: mistachkin tags: trunk)
19:11
Factor all KeyInfo object allocations into a single function: sqlite3KeyInfoAlloc(). Always allocate enough space so that sqlite3VdbeRecordCompare() can avoid checking boundaries and hence run faster. (check-in: 7301bedd user: drh tags: trunk)
19:04
Modify the vdbe code generated by ANALYZE to use fewer memory cells and cursor slots. (check-in: 4a51cf28 user: dan tags: sqlite_stat4)
18:00
Use N separate cursors when scanning an index with N columns to collect sqlite_stat4 data. This fixes a problem with collecting incorrect nEq values from multi-column indexes. (check-in: 3a71afe6 user: dan tags: sqlite_stat4)
15:32
Improve performance of sqlite3VdbeRecordCompare() by using an approximation that might give false negatives and only running the more expensive exact subexpression if the approximation fails. (check-in: 28979dcd user: drh tags: trunk)
12:31
Add a missing '#include "tcl.h"' to test_rtree.c. (check-in: 4b8b426f user: drh tags: trunk)
05:34
Fix a couple of problems in code related to sqlite_stat4. (check-in: badd24d9 user: dan tags: sqlite_stat4)
2013-08-03
20:24
Begin adding experimental sqlite_stat4 table. This commit is buggy. (check-in: 2beea303 user: dan tags: sqlite_stat4)
2013-08-02
23:40
Updates to requirements marks. No code changes. (check-in: 21302076 user: drh tags: trunk)
20:11
Add NEVER() and ALWAYS() macros on some unreachable yet prudent branches. (check-in: c5c0a8ab user: drh tags: trunk)
16:41
Add support for partial indices. (check-in: 478113f1 user: drh tags: trunk)
13:31
Fix typos in documentation for SQLITE_DBSTATUS_DEFERRED_FKS . No changes to code. (check-in: f3efbfcd user: drh tags: trunk)
2013-08-01
22:27
Fix the CREATE INDEX statement so that trying to create a TEMP index on a non-TEMP table throws an error rather than segfaulting. (check-in: e3c8935f user: drh tags: trunk)
22:26
Fix an incorrect expected result in a test case in corruptG.test. (check-in: 6913831a user: drh tags: trunk)
20:26
Fix a potential buffer overread in sqlite3VdbeRecordCompare() when a serial_type specifies a field that starts in bounds but is much too large for the allocated buffer. Mostly harmless. The overread is unlikely to go more than one or two bytes past the end of the buffer. (check-in: e436b2f4 user: drh tags: trunk)
19:17
Make sure signed integer overflow does not cause a segfault while attempting to read a corrupt database where the header size varint on a record is larger than the maximum 32-bit signed integer. (check-in: c3baca99 user: drh tags: trunk)
17:43
Add test case for the problem fixed by [127a5b776d]. (check-in: 65816718 user: dan tags: trunk)
17:21
An improved method for avoiding the use of the STAT3 samples to compute the estimated number of outputs when the left-most index is equality constrained. This check-in undoes the previous fix and applies a new one. (check-in: 127a5b77 user: drh tags: trunk)
16:52
Avoid using left-most column STAT3 samples if the left-most column has an equality constrain and there are inequality constraints on the second column. (check-in: 31b4e63b user: drh tags: trunk)
2013-07-31
23:28
Limit the number of memset() calls used when determining a temporary file name on Windows. Also, fix a harmless compiler warning. (check-in: 136fc293 user: mistachkin tags: trunk)
22:39
Slight modifications to path name translation handling for Cygwin. (check-in: 33ba1f4c user: mistachkin tags: trunk)
22:27
Use a new error code to represent a failure to get the configured temporary directory on Windows. (check-in: c93d891b user: mistachkin tags: trunk)