drh
4e50c5ec48
Further testing and bug fixing for sqlite_stat3. Added the Index.avgEq
...
field to index statistics. Fixed several problems in the query planner
associated with stat3.
FossilOrigin-Name: 89b2f70884cad0abdf4c66cb64ecddb2820ded74
2011-08-13 19:35:19 +00:00
drh
f404c86ad7
Add the sqlite_stat3.nDLT field. Use an linear congruence PRNG to choose
...
which samples to select from among those with the same nEq field.
FossilOrigin-Name: 1dcd24283e6c1cc638eb9ffac434046447f88769
2011-08-13 15:25:10 +00:00
drh
ade3addfb5
The ANALYZE command picks for 15 samples for sqlite_stat3 with the largest
...
nEq fields, plus 5 other evenly spaced samples.
FossilOrigin-Name: 8225924ea015a0c331b69134139922ec83f989f8
2011-08-13 00:58:05 +00:00
drh
faacf17cc1
Begin a branch that experimentally replaces sqlite_stat2 with a new table
...
called sqlite_stat3 that will hopefully facilitate better query
planning decisions.
FossilOrigin-Name: 52e1d7e8ddd4bb5ef3a9d00fd2d719a8a784f807
2011-08-12 01:51:45 +00:00
drh
c2822b76b4
If the keyword "unordered" appears at the end of the SQLITE_STAT1.STAT
...
column for an index, then use that index for equality lookups only, never
for range queries or sorting. This feature is currently undocumented and
my change or be removed in a future release.
FossilOrigin-Name: 8a42e236701c8afd9ada7d4568712a21690ea087
2011-04-09 03:20:59 +00:00
drh
2120608e0f
Add a description of access rules for the Schema object and lots of asserts
...
to verify that the access rules are followed.
FossilOrigin-Name: ae8374af057b6e6546e9265148cfffe32fcb0849
2011-04-04 18:22:02 +00:00
drh
295867bd55
Merge the ANALYZE-index enhancement into trunk.
...
FossilOrigin-Name: 7e237aea22084416d02b89d5223de4e1ca76882d
2011-04-01 14:26:14 +00:00
drh
ce62d93837
Fix two compiler errors associated with non-standard compile-time options.
...
FossilOrigin-Name: e3bf2d5ce4f87535e030a446e03d911f421805f7
2011-04-01 02:26:36 +00:00
drh
76a32a81e4
Fix a compiler warning and an unreachable branch. Restore 100% branch test
...
coverage.
FossilOrigin-Name: 4dc148bb4cec5ecba167cdcb4959a4f0fa05a96f
2011-04-01 01:38:02 +00:00
drh
a071bc5dba
Change the ANALYZE command so that it will accept an index name as its
...
argument and only reanalyze that one index. A quick smoke-test works.
Need to study the implications to the query planner and test corner cases.
FossilOrigin-Name: c8f9edd962442cbdd848c48f1a134557ab8c6ef5
2011-03-31 02:03:28 +00:00
drh
f6cf1ffb39
Do not generate sqlite_stat1 entries for empty tables when running
...
ANALYZE. Ticket [83ea97620bd31016451]
FossilOrigin-Name: 3a27af5b3c688c651ba1fae261026ef77b7ff5e3
2011-03-30 14:54:05 +00:00
drh
d6ee353c84
If the keyword "unordered" appears at the end of the SQLITE_STAT1.STAT
...
column for an index, then use that index for equality lookups only, never
for range queries or sorting.
FossilOrigin-Name: 3b964155f611c437d53d44feafa22f531942b1b4
2011-03-29 15:00:17 +00:00
drh
906b662060
Fix a harmless compiler warning (a shadowed local variable) in analyze.c.
...
FossilOrigin-Name: a1ad7fb38bb38909ca2fddee31c7a8001f10686f
2011-01-24 19:14:06 +00:00
drh
65a0ce16aa
Fix a null-pointer dereference that can occur on an OOM error while running
...
ANALYZE with SQLITE_ENABLE_STAT2.
FossilOrigin-Name: 73128d4ef5d7703bf7af0553c307b55dc1b783f6
2011-01-04 20:06:33 +00:00
drh
4856698fa5
Fix the ANALYZE command so that it takes collating sequences into account
...
when gathering index statistics.
FossilOrigin-Name: a5867cfc4c9b9155fa345247dec29e38fffa8002
2011-01-04 19:01:26 +00:00
drh
8e93b10a4e
The ANALYZE command now counts at all rows of an index, even those containing
...
NULL values. A valid sqlite_stat1 entry is created even if the index contains
nothing but NULLs.
FossilOrigin-Name: 824c8dd3015bbd5c8a1dd661cfe09fe5bf7a80d3
2011-01-04 17:57:53 +00:00
drh
f39d29c0bd
Get ANALYZE working again with -DSQLITE_ENABLE_STAT2 and virtual tables.
...
FossilOrigin-Name: b7a26427afc43c9bbdf365b775379eb57187bc97
2010-09-28 17:34:46 +00:00
drh
6ac78a0d9f
Fix several harmless compiler warnings.
...
FossilOrigin-Name: 7be03ecc04235420e54fed8a88742243278de160
2010-09-28 14:26:36 +00:00
drh
155640552b
Enhance the ANALYZE command so that it gathers statistics in the sqlite_stat1
...
table even for tables that are empty or have no indices.
FossilOrigin-Name: a7645d293801da64a7579737d0a8b48117af2e2c
2010-09-25 22:32:56 +00:00
drh
43b18e1e55
Suppress harmless compiler warning.
...
FossilOrigin-Name: 3f8c068a41b01f59d7f5d56f3bced78587f4d26c
2010-08-17 19:40:08 +00:00
drh
174b9a166d
Make sure all memory from sqlite3DbMalloc() is freed by sqlite3DbFree()
...
and all memory from sqlite3_malloc() is freed by sqlite3_free().
FossilOrigin-Name: 629e38a8c9e31111e351fe4625a5835576d23584
2010-07-26 11:07:20 +00:00
drh
b975598ea0
Make sure all memory from sqlite3DbMalloc() is freed by sqlite3DbFree() and
...
all memory from sqlite3_malloc() is freed by sqlite3_free().
FossilOrigin-Name: ac1f37a647e9ed1c00a901d26d9956a86c40117a
2010-07-24 16:34:37 +00:00
dan
d46def77db
Experimental code to measure memory consumed by database schemas and prepared statements.
...
FossilOrigin-Name: 9aa30342f4de4eff630520ea8e07ad253d3f0877
2010-07-24 11:28:28 +00:00
dan
1feeaed291
Remove the Table.dbMem variable, as it is no longer being used for its original purpose.
...
FossilOrigin-Name: 6eddc6e601cf8f585c6c2cf79f36fcbfe98a307e
2010-07-23 15:41:47 +00:00
dan
558814f8c6
Add some 'const' markers to static data that is really constant.
...
FossilOrigin-Name: e7073e23b80e7cae0c76d42f014ee9b2d40a8f2f
2010-06-02 05:53:53 +00:00
shaneh
1141ae2463
Fix OOM error on ANALYZE with STAT2 enabled with zero-length data. Ticket [cbd054fa6b].
...
FossilOrigin-Name: c33b38b59f733494ca0bce3f59a669fe7ed76b9f
2010-03-26 01:54:33 +00:00
drh
9978c97ec5
Remove the obsolete sqlite3SafetyOn() mechanism. Add additional logging
...
output for CORRUPT, and CANTOPEN errors.
FossilOrigin-Name: 7c4cca6d1a23a6d1591b62f58c3716a944969947
2010-02-23 17:36:32 +00:00
drh
c81c11f62c
Remove the obsolete "$Id:$" RCS identifier strings from the source code.
...
FossilOrigin-Name: f6c045f649036958078cb15cd9d5453680c82b0c
2009-11-10 01:30:52 +00:00
shane
cea72b2dc2
Warning cleanup from the MSVC compile.
...
FossilOrigin-Name: 26cd015c0ee1c18dd37f11b47ce35cfa320b3514
2009-09-07 04:38:36 +00:00
drh
9e1fadee5b
Remove a redundant OOM test from the sqlite_stat2 analysis loader.
...
FossilOrigin-Name: d30ceeb8b303e2ebfab2855beb973da606a97fa9
2009-08-20 23:05:31 +00:00
dan
68c4dbbdfc
Change the code that collects samples for sqlite_stat2 so that the first sample taken is the (nRow/(2*SQLITE_INDEX_SAMPLES))th entry in the index, where nRow is the total number of index entries.
...
FossilOrigin-Name: cbfe6e9df39684607cbc9637e3fb3c5ee6af2515
2009-08-20 09:11:06 +00:00
dan
0f9a34ea4f
Fix an assert() failure that may follow an OOM error.
...
FossilOrigin-Name: 14a715c5639b2bc69b129485ca32e96366dab4c4
2009-08-19 16:34:31 +00:00
dan
85c165caca
Clean up sqlite_stat2 related code. Add test cases.
...
FossilOrigin-Name: aa728e06ce456fa42e68687bff6c7424460c31ef
2009-08-19 14:34:54 +00:00
dan
a898aac951
Fix a problem where a buffer allocated from a lookaside pool was being released using the system free().
...
FossilOrigin-Name: 67207a15bd7302ffeb2f342532b57b4852838d83
2009-08-19 09:09:38 +00:00
dan
69188d9a66
Add the SQLITE_ENABLE_STAT2 macro. If this is not defined at build-time, the stat2 table is not created, populated, or used.
...
FossilOrigin-Name: 362665e89c21fd603d9f8ad6c0ead590e885af7c
2009-08-19 08:18:32 +00:00
dan
e275dc3fb8
Change the sqlite_stat2 schema to be more flexible.
...
FossilOrigin-Name: ded9dec6459baf21e01f63250db5ace57f390e7a
2009-08-18 16:24:58 +00:00
dan
02fa469619
First version of sqlite_stat2 (schema forces exactly 10 samples).
...
FossilOrigin-Name: dd96bda2a85c1d94fb4a0bf5f27e2977f7f7e42e
2009-08-17 17:06:58 +00:00
drh
05800a1d17
Add NEVER and ALWAYS tags to conditionals in analyze.c that always false or
...
true. (CVS 6515)
FossilOrigin-Name: fbbc80eaf3bb3726b053d1050104b4ec602eb0c1
2009-04-16 17:45:47 +00:00
danielk1977
2f886d1d53
Instead of linking temporary triggers on non-temporary tables into the Table.pTrigger list, search the temp schema for them on demand. Fix for #3688 . (CVS 6329)
...
FossilOrigin-Name: 3befe1ef7e6ebddedfa69579553a1b85b411ee98
2009-02-28 10:47:41 +00:00
danielk1977
d336e222f4
Instead of using SetNumColumns, specify the number of columns in a table or index using the P4 argument. (CVS 6310)
...
FossilOrigin-Name: e43ed649630cbc49a6f2a25a26a4a6b5fce84c48
2009-02-20 10:58:41 +00:00
danielk1977
6ab3a2ec8a
Changes to reduce the heap space consumed by triggers, views and tables in the in-memory representation of the schema. Also to reduce the space used by prepared statements slightly. (CVS 6305)
...
FossilOrigin-Name: d9f6ffbc5ea090ba0daac571fc9a6c68b9c864e4
2009-02-19 14:39:25 +00:00
drh
f16ce3bc2a
Make sure OOM errors in the ANALYSIS loader get reported back out to
...
high-level layers. Strange behavior can result otherwise. (CVS 6292)
FossilOrigin-Name: 88a6355cd65ddb319dbc27b5248c664dbf599778
2009-02-13 16:59:53 +00:00
drh
f49661a4eb
Add explicit casts to silence nuisance warnings from VC++. (CVS 6004)
...
FossilOrigin-Name: da1cbfa766f7f379c01f4ac9c1210462d8d7c590
2008-12-10 16:45:50 +00:00
danielk1977
f3d3c27a0c
Fix some compiler warnings that show up when building the amalgamation only. (CVS 5927)
...
FossilOrigin-Name: d1abe8a1c9a990b02c71d6c249436381c9fde443
2008-11-19 16:52:44 +00:00
danielk1977
62c14b3487
Changes to avoid "unused parameter" compiler warnings. (CVS 5921)
...
FossilOrigin-Name: 88134322c36b41304aaeef99c39b4ef5b495ca3b
2008-11-19 09:05:26 +00:00
drh
dfe88ece74
Change the name of the Cursor object to VdbeCursor. (CVS 5857)
...
FossilOrigin-Name: fdb98fd8c1706085ebeef8e48ac6737839bed5e5
2008-11-03 20:55:06 +00:00
drh
633e6d57d9
Implement the "lookaside" memory allocation cache. Use of this cache makes
...
the speed1.test script run about 15% faster. Added new interfaces to
control the cache. (CVS 5488)
FossilOrigin-Name: e48f9697e9fea339e150ddc32940760027dd07d9
2008-07-28 19:34:53 +00:00
danielk1977
cd3e8f7ce9
Use a vdbe memory cell to allocate the space required for vdbe cursors. (CVS 4912)
...
FossilOrigin-Name: 047153648155654b0cd70b811935209d2e21776c
2008-03-25 09:47:35 +00:00
drh
ca4241140c
Error messages says "no such view" instead of "no such table" when
...
trying to DROP a VIEW that does not exist. (CVS 4750)
FossilOrigin-Name: 50815a82e0ec9a5c1399f5fe6ef416434b55a821
2008-01-25 15:04:48 +00:00
drh
7e8b848a60
Make sqlite3SafetyOn() and sqlite3SafetyOff() macros which disappear when
...
compiling without -DSQLITE_DEBUG=1. (CVS 4744)
FossilOrigin-Name: 5375ad6b4b652f388469b0ce4e8e78b3f49169bd
2008-01-23 03:03:05 +00:00