Commit Graph

9653 Commits

Author SHA1 Message Date
drh
9471406cf2 Fix a typo in a comment for PRAGMA journal_mode. Also amplify that same
comment.

FossilOrigin-Name: c8ff2a484005ca48c52407db9f4a9a7d9f747158
2011-10-10 12:04:14 +00:00
drh
385e52f60c All the soft_heap_limit to be exceeded by 10% in test cases.
FossilOrigin-Name: 4be9dccc711c9ad252e2cbd99bbcbe43247503a1
2011-10-08 21:39:11 +00:00
dan
f4ba109356 Add the SQLITE_DIRECT_OVERFLOW_READ compile time option.
FossilOrigin-Name: 2ab14a846727857175eac7961b7338c4d3b417ca
2011-10-08 14:57:07 +00:00
drh
08ccfaa1b1 Change the ANALYZE command so that it no longer tried to delete unused
sqlite_stat2 and sqlite_stat3 tables.  Change the DROP TABLE command so
that it is able to drop those tables.

FossilOrigin-Name: 589f3f5652e3674d3203f8bd32784a46b5ed530c
2011-10-07 23:52:25 +00:00
drh
9734e6e1f4 Make sure sqlite3_data_count() behaves as documented, even for
EXPLAIN QUERY PLAN queries.

FossilOrigin-Name: d4f95b3b6e9f4a4072606af5daa17ea7c645382e
2011-10-07 18:24:25 +00:00
drh
be7beab5f4 Improved handling of OR terms in the WHERE clause with multi-column indexes.
FossilOrigin-Name: b23ae131874bc5c621f0f5ea8d76fce1ec089cc2
2011-10-07 17:52:40 +00:00
drh
0a61df670e Add testcase() macros to ensure good test coverage.
FossilOrigin-Name: 5c132592820e9dc2355e26ea14e155c797c335b3
2011-10-07 17:45:58 +00:00
dan
c5f20a0061 Add the SQLITE_FCNTL_OVERWRITE file-control. Used by SQLite to indicate to the OS layer that the current transaction will overwrite the entire file.
FossilOrigin-Name: 1da87fcdacfa7d277c3ee98e410a9ea8b529c368
2011-10-07 16:57:59 +00:00
drh
85ae206e69 More test cases for the OR optimization.
FossilOrigin-Name: 4997d8b81cd3ea7c708911bfece00020d11224f9
2011-10-07 16:08:28 +00:00
drh
9ef61f4f4e Prevent infinite recursion of in the query planner for some pathological
test cases by disabling OR-clause processing upon first recursion.

FossilOrigin-Name: 9fca05eac503d712886a05d03794f76c61fb39ed
2011-10-07 14:40:59 +00:00
drh
8871ef5afd Begin an effort to enhance the query planner to do a better job with OR terms
in the WHERE clause.  This change allows ANDs outside of the OR to be factored
into the OR terms if that is helpful in finding better indices.

FossilOrigin-Name: 876bd21aaac444c7e056730e35696a74e9a1af0a
2011-10-07 13:33:10 +00:00
drh
f3259997c0 Enhance the sqlite3_data_count() routine so that it can be used to determine
if SQLITE_DONE has been seen on the prepared statement.

FossilOrigin-Name: 9913996e7b0f94ba1c51200b61433193002f3638
2011-10-07 12:59:23 +00:00
drh
a624fd5038 Add the --pageinfo and --stats options to the sqlite3_analyzer utility.
FossilOrigin-Name: baa80c7bc31900decae0d8e6090b30fcde377492
2011-10-05 19:46:03 +00:00
drh
b770894ec7 Update the sqlite3_analyzer utility program to provide more details about
the compression performance of ZIPVFS database files.

FossilOrigin-Name: fa5ed53296d45a5f963d20fb361555c432e0f31b
2011-10-05 18:18:13 +00:00
dan
2cf7e0a712 Fix test code related to reporting the size of overflow pages in zipvfs databases.
FossilOrigin-Name: ad7c9eed8bbd607babce4f5965f587c873e7bc02
2011-10-05 17:36:27 +00:00
drh
c47167a6a8 When finding the appropriate file permissions for journal files with
SQLITE_ENABLE_8_3_NAMES, ignore "-" characters in the name of the
containing directory.

FossilOrigin-Name: 328cc1867ffbbf1c953dfd843649f5f209c8e6ec
2011-10-05 15:26:13 +00:00
dan
deb9473250 Change FTS4 so that if both the content=xxx option and column names are specified, the virtual table assumes that the named columns correspond to columns of table xxx.
FossilOrigin-Name: 289ee43179369fce2fde50870d72c445e184e896
2011-10-05 15:11:30 +00:00
dan
8361b189c9 Fix a problem with IO error handling in the rebuild-index code.
FossilOrigin-Name: c6ba81fcad32192674bd510e607f787adc1f7038
2011-10-05 06:07:00 +00:00
dan
49fc336438 Improve test coverage of fts3.c.
FossilOrigin-Name: 0f439944ab49a5691615bc170fdcf652055573df
2011-10-04 19:41:50 +00:00
dan
cc5b81464a Add tests to check that modifying the schema of an FTS content table does not cause a crash in the FTS module. Also disable the deferred token optimization for content=xxx FTS tables.
FossilOrigin-Name: be86c7061b68f403730bf63ea1f7dc0d9ceb0a3b
2011-10-04 16:37:35 +00:00
dan
d8e454e19a Add experimental 'content' option to FTS4.
FossilOrigin-Name: 1d27ea741f61c624e18bdc6a3b1c2d8574a64ddc
2011-10-04 11:22:59 +00:00
drh
d4b0ff9926 Merge the STAT3 changes into trunk.
FossilOrigin-Name: 774d0842bcce8862f2aac371f1689536ed234a0a
2011-10-03 15:30:33 +00:00
mistachkin
c756dedace Update MSVC makefile to allow targets to be built with support for ICU.
FossilOrigin-Name: eb5da5e1dbe9c198095036827318fb381441cbd0
2011-10-02 05:23:16 +00:00
dan
1696124db7 Disable the xfer optimization if "PRAGMA count_changes=1" is configured. Ticket [c48d99d690].
FossilOrigin-Name: 9ddfe1e41300413bc9af7e5ce0ec9d1daf9136b1
2011-09-30 12:01:01 +00:00
drh
7b075e3a1c In the shell, allow arbitrary table names on the ".import" command.
Ticket [d1d84037b90a449].

FossilOrigin-Name: f4dd32d30ed54f847319664cf749fd0b92b4af3f
2011-09-28 01:10:00 +00:00
drh
4c9f129d60 Enhance the stat VFS to report out the total size of all pages used by
a table, even if the ZIPVFS compression backend is in play.  Update
the sqlite3_analyzer logic to use these new outputs.

FossilOrigin-Name: 19b8eaaf70db82d401d33beb7fd36045d5e8326f
2011-09-28 00:50:14 +00:00
drh
f08f3843b7 Changes to sqlite3_analyzer to try to avoid integer overflow problems
when linking against older versions of TCL.

FossilOrigin-Name: 8c846311a0cd510bbf9361213bb60764e9b797aa
2011-09-27 13:40:26 +00:00
dan
64b41c7132 Changes to the analyzer script to make it work with zipvfs databases.
FossilOrigin-Name: d82cffab6acafcf9d91fea4ac47cad73f6f09775
2011-09-26 19:32:47 +00:00
drh
3051dc1c7f If an open as read/write fails, do not try to reopen as read-only if in
exclusive access mode.

FossilOrigin-Name: 263c5fb2802f8c84835e42fc66acb1065b7e42b9
2011-09-25 17:49:26 +00:00
drh
497ffc4c5d If an open as read/write fails, do not try to reopen as read-only if in
exclusive access mode.

FossilOrigin-Name: 4a153f010037db83107314269b240c0ece8430f8
2011-09-25 17:47:58 +00:00
dan
a682a6b578 Fix misc3.test so that it works with OMIT_MERGE_SORT builds.
FossilOrigin-Name: 87946c627f7230bea3739fd6aeec3e56115a3f93
2011-09-24 09:54:14 +00:00
dan
5209132a48 Fix some test files so that they work with SQLITE_OMIT_WAL builds.
FossilOrigin-Name: a38668dcff0a4d241d959ea19330ad43295d757d
2011-09-24 05:55:36 +00:00
drh
c78e6e4c4b Add SQLITE_DBSTATUS_CACHE_HIT and _MISS to the ".stat" command in the shell.
FossilOrigin-Name: d279e1a309909a0897b6082753a0fadb5066c31a
2011-09-23 18:58:23 +00:00
drh
0bab6c3ef7 Add the -DBUILD_sqlite option to the compiler when building testfixture.exe
using the configure script.

FossilOrigin-Name: 15a13b6c59ddf145c3fc860d993a7fa5587a0799
2011-09-23 16:34:49 +00:00
drh
790a55171e Merge the latest trunk changes into the stat3-trunk branch.
FossilOrigin-Name: 0beb88a92c8f75231df120bef54616c7e4bb68c8
2011-09-23 14:40:31 +00:00
drh
567211ed0e Testability enhancements.
FossilOrigin-Name: be44928cf2a3c063c8228b769d90947acbfad1ef
2011-09-23 13:59:33 +00:00
drh
369980189b Fix typos in the format description comment of analyze.c.
FossilOrigin-Name: 74e27fad339a2d7899c1f42805e615128929f07a
2011-09-23 13:25:03 +00:00
drh
2b9cf669d8 Remove the restriction on the number of entries per index in sqlite_stat3.
FossilOrigin-Name: 374343c8ad53829c4ad715ed623d16635797de9a
2011-09-22 20:52:56 +00:00
drh
5c62486cd8 Fix an issue in ANALYZE when STAT3 is disabled but both sqlite_stat2 and
sqlite_stat3 tables exist.  Also add testability tweaks to the STAT3 code.

FossilOrigin-Name: 3ca7e449e2e20d95e516cf7fe87bfa0b51c07086
2011-09-22 18:46:34 +00:00
dan
40f048f54b Remove a redundant (and undefined) "forcedelete" command from corruptE.test.
FossilOrigin-Name: 6d8d4e1694694c3e961fc1922f732d1da40caa6f
2011-09-22 15:31:30 +00:00
dan
b5126dde0d Remove the SQLITE_PAGECACHE_BLOCKALLOC compilation option.
FossilOrigin-Name: 4eb4689834b538b9eeec5a5803528260e1aff78d
2011-09-22 14:56:31 +00:00
dan
58ca31c905 Add the SQLITE_DB_STATUS_CACHE_HIT and MISS options. For querying the number of cache hits and misses on a per-connection basis.
FossilOrigin-Name: 5100b6e9dc5107f0f835d0aac26fe6d4938ffc73
2011-09-22 14:41:16 +00:00
drh
0fe0c466ca Update the version number to 3.7.9.
FossilOrigin-Name: 14e28eb9546906b33eb03e596ad104c8ca049d6c
2011-09-22 00:56:38 +00:00
drh
93c6384ca6 Fix an uninitialized variable and a misuse of memcpy().
FossilOrigin-Name: ee110d5a4a6f29400bb632a9a18c7dcd04638657
2011-09-22 00:28:55 +00:00
mistachkin
9a55e31f4d Integrate build changes for sqlite3_analyzer into the MSVC makefile. Also, more cleanup of build files, including sqlite3_analyzer, for all makefiles.
FossilOrigin-Name: af1c5718292c0326b785416b7109eafefaeb59a7
2011-09-22 00:06:44 +00:00
drh
565621a57e Minor tweaks to the TCL code for sqlite3_analyzer.
FossilOrigin-Name: 3a261f383f11d839d3a23d454b4422298bef9c88
2011-09-21 20:10:42 +00:00
drh
8d43aa10cb Remove unnecessary dependencies from the sqlite3_analyzer targets in
makefiles.

FossilOrigin-Name: 0bd8fd352d290637d8c4d4fb76e8dd28f0149fa0
2011-09-21 18:29:49 +00:00
drh
c42cdce5e0 Fix the sqlite3_analyzer target in the configure-generated Makefile.
FossilOrigin-Name: 256cdbdc810cae23388ccf73583c591304294dbb
2011-09-21 17:04:21 +00:00
dan
0ae479dff2 Change the way the sqlite3_analyzer executable is built.
FossilOrigin-Name: 05e3cced8a884e8bca6f208d2f09e335d3929eac
2011-09-21 16:43:07 +00:00
drh
d3ed73406c Pull in the latest changes from trunk. Update the STAT3 documentation.
FossilOrigin-Name: 63fc3e4bea6a7f5dc34b2af83f30458eb10b8fe0
2011-09-21 00:09:41 +00:00
drh
9d56acdcfc Minor comment change in the description of the different memory allocator
options.  No changes to code.

FossilOrigin-Name: 36be31ff0af7f811fe2c6f7e26f058cffb7257e1
2011-09-19 20:56:59 +00:00
drh
72949adc95 Merge in all changes through the 3.7.8 release.
FossilOrigin-Name: 9607600b6ca9b546dd248982fd8e8d64f708be5c
2011-09-19 20:36:42 +00:00
drh
1335f8c21f Version 3.7.8 release candidate
FossilOrigin-Name: 3e0da808d2f5b4d12046e05980ca04578f581177
2011-09-19 14:49:19 +00:00
drh
432e0bc6dc Increase the default lookaside cache line size from 100 to 128 bytes.
FossilOrigin-Name: db019465036171fcad31181bec7d6ac185f50430
2011-09-19 13:01:53 +00:00
dan
73ac46da31 Remove a stray merge-sort related change from pager.c and pager.h.
FossilOrigin-Name: 69823ed163049d6fa1e24a9810c3c99f2a8fdd46
2011-09-19 11:57:34 +00:00
drh
168f9f5aa3 Add a new script to build an amalgamation that omits FTS3/4 and RTREE.
FossilOrigin-Name: b31a7d7db9040d8eedaf1ecd89ea0033f579d0f1
2011-09-17 17:29:20 +00:00
mistachkin
f1c40f4fd4 Make sure the file structure is zeroed prior to calling the VFS to open a file.
FossilOrigin-Name: 29c4d0dd43d41650e54824afd70dd40f1b91cc86
2011-09-17 15:34:50 +00:00
drh
dfd2d9f6c9 Fix a problem with SQLITE_OMIT_TRACE that was introduced by the recent
OP_Once change.

FossilOrigin-Name: 96be3f7b59b3ed4703b907e29db629df34b2b56f
2011-09-16 22:10:57 +00:00
mistachkin
c377f3106b Fix #if's in winSync to avoid compiler warnings about unused local variables. Also, update version numbers in the MSVC makefile.
FossilOrigin-Name: 2e66e41457422449ac5918b16be443e737dfb149
2011-09-16 20:43:44 +00:00
mistachkin
a3b2ff5182 Silence harmless compiler warning about redefinition of the _CRT_SECURE_NO_WARNINGS macro by shell.c.
FossilOrigin-Name: 690220717f3d92d4fb7bd72226fc8d5f38f5fbcf
2011-09-16 20:16:36 +00:00
drh
5c4e5e53fe Merge all the latest trunk changes into the experimental STAT3 branch.
FossilOrigin-Name: 51908c8f2bc6c086570f7493a29b096f0a40ce34
2011-09-16 19:29:58 +00:00
drh
a464c23429 Remove unreachable branches from the previous change. Add additional
test cases.

FossilOrigin-Name: cf51ef8ab8a610ddf64f66970dd689fe1df405b8
2011-09-16 19:04:03 +00:00
drh
8850177924 When analyzing the right-hand side of IN operators to see if the IN operator
can work with an index, be sure to decend into nested subqueries.
Fix for ticket [1a1308d2538d7]

FossilOrigin-Name: 0156f10e23daca0e2504cd293a67ed0233d254d0
2011-09-16 17:43:06 +00:00
drh
7157e8eac1 Further streamlining of the subquery materializer. New test cases for
ticket [002caede898a]

FossilOrigin-Name: ff8b76b25b42497a7374de56c6a8f34cbe70cd6a
2011-09-16 16:00:51 +00:00
drh
ffd5075d7c Merge the [002caede898] fix into trunk.
FossilOrigin-Name: 95708ae2235658c3a49679e2fe252a058793366a
2011-09-16 01:38:53 +00:00
drh
48f2d3b10a Add the new OP_Once opcode. Use it to clean up and simplify various
one-time initialization sections in the code, including the fix for
ticket [002caede898ae].

FossilOrigin-Name: 7f00552b739fad79517b042a6ed61abe743a917b
2011-09-16 01:34:43 +00:00
drh
5b6a9ed495 Materialize subqueries using a subroutine and invoke that subroutine
prior to each use of the subqueries manifestation.  Fix for
ticket [002caede898aee4]

FossilOrigin-Name: 4b8357ee3c4ccdbd34e0cd077efd84cca677f496
2011-09-15 23:58:14 +00:00
drh
4327aeaafd Adding test case for ticket [002caede898]
FossilOrigin-Name: 62dfc51a495be017605cf315d72e2db91bfa28f7
2011-09-15 19:39:42 +00:00
mistachkin
ac43e1a6a5 Cleanup/fix error handling when no arguments are supplied to the SQLite analyzer.
FossilOrigin-Name: 3fc566ac5dfce314ee414a3fb79daeeed6d0f179
2011-09-15 00:40:11 +00:00
mistachkin
0fe5f95c7f Remove 'const' from a variable that might actually be written when an OOM error occurs. Also, fix a couple MSVC/Win32 compiler warnings.
FossilOrigin-Name: 3035dc1c7398791d550f4c02774ef7f961b4bb02
2011-09-14 18:19:08 +00:00
drh
244b632cf7 Remove unused parameters from internal routines in vdbesort.c. This is
an additional simplification made possible by recent optimizations.

FossilOrigin-Name: a1f3aeeb0988c848d40ce8f6da6e902935a997e2
2011-09-14 13:41:40 +00:00
drh
59ebc99161 Remove code from vdbesort.c that was made unreachable by the recent
sqlite3VdbeRecordUnpack() optimizations.

FossilOrigin-Name: 607aba6cd7020973200fa376cf8df55360165266
2011-09-14 13:23:21 +00:00
drh
5a9f90b574 Merge the latest trunk changes into the stat3-trunk branch.
FossilOrigin-Name: 11ca4ed8bf850dae1a24b7182f70039f32bd8dd1
2011-09-13 19:09:28 +00:00
dan
f9556a1a3d Allocate the correct size for the output buffer in fts3DoclistOrMerge(). Fix for [56be976859].
FossilOrigin-Name: 07788c0f7f3740c1c280f6ce4dc68401c30bae6e
2011-09-13 19:08:43 +00:00
mistachkin
649591af23 Cleanup pdb/ilk files generated by the MSVC makefile.
FossilOrigin-Name: a9db247b752bcda0131b8f01c6f0182f3101d154
2011-09-11 10:14:37 +00:00
dan
42acb3e597 Fix a minor performance regression in btreeMoveto().
FossilOrigin-Name: d0712dfb24867a807c9cddcc12bd0aebe1d3e085
2011-09-05 20:16:38 +00:00
dan
03e9cfc223 Refactor the sqlite3VdbeRecordUnpack() interface to better accommodate the vdbesort.c module.
FossilOrigin-Name: f115b2303509c678dbe83b2fa3d9c40d82882813
2011-09-05 14:20:27 +00:00
drh
19c88c1a99 Fix a compiler warning about an unused parameter in the merge-sort code.
FossilOrigin-Name: 6b657ae75035eb10b0ad640998d3c9eadfdffa6e
2011-09-04 01:27:00 +00:00
drh
c2bb3282f1 Improve the testability of the merge-sort logic.
FossilOrigin-Name: b5179baf87aa00ed5cecbdcaa65bee10e112a9e9
2011-09-04 01:11:46 +00:00
drh
d40807ddef Performance improvements to the external merge-sorter. Keep content on an
in-memory linked lists rather than an ephemeral table prior to spilling to
disk.  Use the external merge-sorter to implement ORDER BY and GROUP BY
in addition to CREATE INDEX.

FossilOrigin-Name: 4c43e8b2d2c1d8dcba3cd1c3f2ec4e19ab419430
2011-09-03 17:07:26 +00:00
drh
04a962fe02 Simplification and performance tweaks in vdbeSorterMerge().
FossilOrigin-Name: 99e34bdce4ccca15b79159b03b96787e7a7ff85b
2011-09-03 16:42:38 +00:00
dan
8b1ea14f8c Reduce the number of VdbeRecordUnpack() calls made in vdbesort.c.
FossilOrigin-Name: 666c2c3cff51dac2ba5689b75705d99c3705673b
2011-09-03 14:36:13 +00:00
drh
ca892a7252 The build works again with -DSQLITE_OMIT_MERGE_SORT. The merge-sorter now
avoids spilling to disk (letting the in-memory linked list grow without
bound) if PRAGMA temp_store=3.

FossilOrigin-Name: 68e26c4487696d194ee85370380e4b0e56d206ee
2011-09-03 00:17:51 +00:00
drh
34163c6831 Remove some dead code. Fix a faulty assert(). Improve some variable names.
FossilOrigin-Name: a9a64592cf88580cb254fb0aac65a2f2085976ec
2011-09-02 21:42:33 +00:00
dan
7733a4db4b Combine two malloc calls in vdbesort.c.
FossilOrigin-Name: cf48ad8353e28339d00f448bb729e10a7f2aad72
2011-09-02 18:03:16 +00:00
dan
7f72114547 Reduce the number of malloc() calls made when creating an index on more than 2 columns.
FossilOrigin-Name: 065b0c9858da0ebb41722f3c56bdaf62f28b2f2c
2011-09-02 15:41:33 +00:00
mistachkin
9747a6063b Remove unused local variable.
FossilOrigin-Name: 61bda876af6df3170263d41d2933168305de58d2
2011-09-02 15:08:28 +00:00
dan
9fed558df9 If all data being sorted fits in memory, avoid writing any data out to temporary files in vdbesort.c.
FossilOrigin-Name: 71075673c625f243969c3f34c73f28f378924007
2011-09-02 11:45:31 +00:00
dan
5134d1357e Instead of a temporary b-tree, use a linked-list and merge-sort to sort records in main memory in vdbesort.c.
FossilOrigin-Name: 7769fb988d9be0f2d8129aaac19620ac88f9b4a6
2011-09-02 10:31:11 +00:00
drh
1c9d835d49 Use OP_SorterOpen instead of OP_OpenEphemeral to implement GROUP BY.
FossilOrigin-Name: ebf819aaa555bd79fddfc0a6f9827a2539095d6c
2011-09-01 16:01:27 +00:00
drh
c6aff30ca4 Experimental code-generator changes to utilize new opcodes for sorting.
FossilOrigin-Name: bab2e560f6cb989c83a96aad60f666960ede7abe
2011-09-01 15:32:47 +00:00
drh
96862072b8 Avoid using uninitialized variables after failures in the merge sort code.
FossilOrigin-Name: 2869ed28299b1c9f355ecc24635830f7f1249126
2011-08-31 23:57:22 +00:00
drh
20f8e13b44 Formerly, we enabled fdatasync() on linux only. But now we learn that
fdatasync() is not supported on Android.  So we disable fdatasync() on
Linux too.  It can be reenabled at compile-time for those who really need it.

FossilOrigin-Name: 70b5b309568ac55565558d5456aca1e431cfd26b
2011-08-31 21:01:55 +00:00
drh
5a201fb41d Add the SQLITE_MAX_SCHEMA_RETRY compile-time option to the set of options
understood by "PRAGMA compile_options;" and by the 
"sqlite_compileoption_used()" function.

FossilOrigin-Name: 1b124af40a8fa4d3094f24a9213096b66411b8f9
2011-08-31 20:47:50 +00:00
drh
1b1e8a8be6 The server1.test script should only run if mutexes are functional.
Fix to the #ifdef change of check-in [9e6a4c1473].

FossilOrigin-Name: 6489848590db7088d965b7fa7feabc8c66e2e2b1
2011-08-31 19:40:58 +00:00
drh
fd53231c85 Always include the unixShm.id field, even when not debugging.
FossilOrigin-Name: 07803476206b8cde60ccc320b9ccdc0d48a41d65
2011-08-31 18:35:34 +00:00
drh
7730c4457e Only create the sqlite3OSTrace global variable if compiling with
SQLITE_TEST.

FossilOrigin-Name: 9e6a4c1473a4cb061a88f6a437a2828368b3ddc8
2011-08-31 18:04:54 +00:00
drh
4515a45b8c Backslash escaping is not working right in tostr.awk on the latest ubuntu.
The easiest fix is to simply not use any backslashes in the spaceanal.tcl
script.

FossilOrigin-Name: df550066657cb41bad34ac8e722b8148ab7eabfb
2011-08-31 17:46:50 +00:00
drh
e42a9b431b Add checks to make sure cells in corrupt database files
do not overflow a page when doing autovacuum.
Problem detected by valgrind.

FossilOrigin-Name: d0b347b412376d22e9f0770ac083dafb5e480dd0
2011-08-31 13:27:19 +00:00
drh
0ee469c9a8 Enable the thread test logic to work with the SQLITE_HAS_CODEC compile-time
option.

FossilOrigin-Name: 20ddfb4780b87953718f3a8e67b777dcff0e3b5e
2011-08-30 19:52:32 +00:00
drh
307ff30b54 Change the build process so that it does not require the unix "sort"
command.  This avoids confusion between ms-sort and mingw-sort on
windows systems.

FossilOrigin-Name: f1bd5bbae505068d24bfd9cc6bab6a8b8940bad6
2011-08-30 01:29:04 +00:00
mistachkin
d589a5444b Make sure SQLITE_FCNTL_SIZE_HINT a no-op if the chunk size is not greater than zero.
FossilOrigin-Name: 88b763e8d73fafa1538b08af28b1c8b723b39c61
2011-08-30 01:23:34 +00:00
drh
e0a59cf0e1 Fix a total unimportant file descriptor leak in lemon. This is to silence
warning messages.

FossilOrigin-Name: e95cf2c576dda656c0f31eeec3d98e911b9003a1
2011-08-30 00:58:58 +00:00
drh
bc2be0c770 Fix a buffer overrun in test logic. No impact on the core SQLite.
FossilOrigin-Name: 49cd60e38bd8df9d736ced95e0ace6efea95ca7d
2011-08-30 00:53:50 +00:00
dan
54bbe7f15e Fix a broken assert() statement in select.c.
FossilOrigin-Name: ad78ef2b3a20e3c3191fba232cbae70656210cf5
2011-08-29 18:24:27 +00:00
drh
2f7820d8b5 Back out [05c9832e5f6eb] since it was causing a performance regression with
no obvious benefit.

FossilOrigin-Name: 639cc85a911454bffdcccb33f2976c683953ae64
2011-08-29 11:56:14 +00:00
drh
d4b708f671 Merge performance enhancements into trunk.
FossilOrigin-Name: 5a00d24b279424d257781ec3f1227e72a5d56f57
2011-08-29 03:08:47 +00:00
drh
2d36eb43a4 About a 1% overall performance improvement by using a macro to avoid
no-op calls to sqlite3MemReleaseExternal().

FossilOrigin-Name: ff71d20a9ed129bd1785a3f7a777ce62098735b7
2011-08-29 02:49:41 +00:00
drh
5a077b741f Small performance improvement to OP_Column.
FossilOrigin-Name: b6b73a747ad8d0f026074e41c2a4adc529ec2674
2011-08-29 02:16:18 +00:00
drh
e6f43fc4f8 About a 3% improvement in the performance of OP_Column.
FossilOrigin-Name: edff9d4a995095e555fcc9aec4c56f4bcaa1557e
2011-08-28 02:15:34 +00:00
drh
4a6f3aabca Correctly display P4_ADVANCE values on opcode traces. Mark an always-taken
branch in OP_Column as such.

FossilOrigin-Name: 087dc96086fe4e45da93ab6a0d5dda34c932ce97
2011-08-28 00:19:26 +00:00
dan
a205a486d2 Experimental changes to improve the performance of OP_Next.
FossilOrigin-Name: 1a249845251199c00817893add300a1a654b4df9
2011-08-27 18:48:57 +00:00
drh
3d4435b234 Fix several harmless compiler warnings and a documentation bug.
FossilOrigin-Name: 5454d0fe227b7c1f0e7715b6c08f97019628fc4c
2011-08-26 20:55:50 +00:00
drh
009a5f811b Merge the stat3-enhancement branch with trunk, but keep the resulting merge
in a separate branch for now.

FossilOrigin-Name: 63f2c7859fa6e5d0e2cdd218ff52a3ec2d44c61d
2011-08-26 13:16:33 +00:00
mistachkin
25d054fabd Update compiler error message regarding the choice of memory allocator defines.
FossilOrigin-Name: 1dada5158215d1816edb69ff2610f9d2259ce19d
2011-08-26 11:25:02 +00:00
mistachkin
d2f496aab5 Merge Win32 native heap support into trunk.
FossilOrigin-Name: 5238a74987507f27af4080e2842f53e049b5b111
2011-08-26 11:18:44 +00:00
mistachkin
4d60be5e30 In the MSVC makefile, allow symbols to be enabled without NDEBUG defined. Also, for the win32lock test, make sure the database is closed prior to shutdown.
FossilOrigin-Name: 5ed7633d41b99929309a7e13d37375a4fdae43b3
2011-08-26 05:40:31 +00:00
mistachkin
7da32b5841 Disable checking the winMemData structure signature when compiled with NDEBUG.
FossilOrigin-Name: 50edc2f9141bd13277119afd129387029ebe5c01
2011-08-26 01:45:50 +00:00
mistachkin
155892cccc Allow the Win32 native heap flags to be overridden at compile-time.
FossilOrigin-Name: 1c2ecec8e7320bc5b532b3107005fb7f0370f25c
2011-08-26 01:32:24 +00:00
drh
2a5d9908f9 Create a new pager type, PAGER_SORTER, for use in the external merge sort.
Such pagers are always held in memory but do report when they are under
memory pressure by calling pagerStress.

FossilOrigin-Name: c71d73201d950355862dd8d5de142c9673888755
2011-08-26 00:34:45 +00:00
drh
c5dbffe741 Reorder some of the branches in backup.c in order to make the code
easier to test.

FossilOrigin-Name: 2c443d47ecee7b43a89f0a4bf299c46c66e3f80d
2011-08-25 20:18:47 +00:00
dan
4b2704021a Replace an assert() that a condition may not occur in backup.c with code to handle that condition, which can occur.
FossilOrigin-Name: 472c74b3452c5a07dfb006010441232b09599ad5
2011-08-25 19:28:47 +00:00
drh
860e332cdc Fix harmless compiler warnings in test code. No changes to the core.
FossilOrigin-Name: 16f83fec77668c021694fbb189b415bd3b90adc8
2011-08-25 18:54:46 +00:00
drh
d7f6e906db Disable external merge source when SQLITE_TEMP_STORE==3. Add documentation
to the OP_OpenSorter opcode.

FossilOrigin-Name: 5a690486811379cea40c6ed48b2902f421234832
2011-08-25 18:01:28 +00:00
dan
ee140c4d71 Fix the SQLITE_DISABLE_DIRSYNC compile time option.
FossilOrigin-Name: 6deb3ea1f080324ea23ebdc9008753fbbc4063e2
2011-08-25 13:46:32 +00:00
mistachkin
f2d25f2005 Add comments for the various debug levels. When debugging, disable optimizations. Prevent the win32lock tests from spinning forever.
FossilOrigin-Name: 401859236b0d97bde82b11f32efce6eb9d490941
2011-08-25 04:09:12 +00:00
drh
26541c9a00 Fix an file separator character issue with test_quota.c that was causing
it to fail on windows.

FossilOrigin-Name: ddb8d3e80df868bda0704feed31171fa055432b5
2011-08-25 03:38:31 +00:00
mistachkin
753c544495 In the MSVC makefile, support several levels of debugging, each one building on the previous. Also, add comment about the SQLITE_WIN32_MALLOC_VALIDATE macro.
FossilOrigin-Name: 4257e9b7ca78feb03df08fde56da947ae64c5c6f
2011-08-25 02:02:25 +00:00
drh
31e8097658 Cherrypick the [d4f6437f8d] change so that SQLITE_FCNTL_SIZE_HINT is always
honored and never undone by memory pressure on windows.

FossilOrigin-Name: 67ff8d27f6aa6e0beff1f6b72a997b30a9647879
2011-08-25 01:58:17 +00:00
drh
b6020c4eef Add the sqlite3_quota_file() interface to test_quota.c.
FossilOrigin-Name: 2b7fe8e5b74c3504edd0e3ff78096e357ee1b47c
2011-08-25 01:42:12 +00:00
mistachkin
4458bc8e3e Make sure that SQLITE_FCNTL_SIZE_HINT on Windows does not shrink the file.
FossilOrigin-Name: d4f6437f8de82482dfaa4c084f4221e89e21eb00
2011-08-25 01:16:42 +00:00
drh
e4cf0b3106 Add the SQLITE_EXTRA_INIT macro.
FossilOrigin-Name: a3220f36c164dd2edf085c07ea08d617d8438812
2011-08-25 00:14:41 +00:00
mistachkin
468690ef60 Add error logging to native Win32 heap support.
FossilOrigin-Name: 7fca5a284cded6d7531060da6e99a57aed50cf8f
2011-08-24 17:42:22 +00:00
mistachkin
1b186a9947 Experimental work to allow SQLite to use the native Win32 heap API.
FossilOrigin-Name: bf3d0ab53829350637283442f75071fe6d925245
2011-08-24 16:13:57 +00:00
drh
2d1017e47f Updates to the sqlite3_mem_methods documentation.
FossilOrigin-Name: 988998fe7b0a21ed113b67f812e51f357045bef4
2011-08-24 15:18:16 +00:00
drh
88caeac774 Fix some harmless compiler warnings.
FossilOrigin-Name: 46f5a68bfa4199a4bd398030bf88bfbb4df3d5ca
2011-08-24 15:12:08 +00:00
drh
796af156c7 Changes to test_quota.c to make quota groups persistent even after files
are closed.  Files remain a part of the quota group until they are
deleted.

FossilOrigin-Name: 04111ce980df9692b7fe65a36105e7de9627a3bb
2011-08-24 01:25:55 +00:00
drh
8115d5feaa Simplifications to the SQLITE_PAGECACHE_BLOCKALLOC logic. Reduce the number
of difficult-to-reach branches.

FossilOrigin-Name: d5d835fe8352cb2009133246d4ed1cd310803f75
2011-08-23 23:41:40 +00:00
drh
1ee6f74046 If the application-defined openDirectory() function returns SQLITE_CANTOPEN,
then silently ignore the error.  This allows the chromium sandbox to disallow
opening of directories without causing errors.

FossilOrigin-Name: 880b51150aaed804005f5062b4dd2fa0ffafa147
2011-08-23 20:11:32 +00:00
dan
422faae0ae Change the way the "crash" VFS (test6.c) handles SQLITE_FCNTL_SIZE_HINT.
FossilOrigin-Name: 40dd8a60be0ca79e0d0bf3a2b5a43f13c02b4971
2011-08-23 19:46:02 +00:00
dan
67e10d1fd3 Have the "crash" VFS used by the tcl tests (test6.c) handle SQLITE_FCNTL_SIZE_HINT internally, instead of passing it directly through to the underlying VFS. This is important if the crash VFS is simulating non-default device characteristics such as SQLITE_DEVCAP_SEQUENTIAL or ATOMIC.
FossilOrigin-Name: fac8bc8f3450a6ce74c9250acb0608e940ffb54d
2011-08-23 16:41:06 +00:00
drh
1b53d7d75a Ifdef out routines in pcache1.c that are used only
when SQLITE_PAGECACHE_BLOCKALLOC is defined.

FossilOrigin-Name: 0da292da3bc867a5c6e29384f325581ea06bbd20
2011-08-23 13:27:48 +00:00
drh
2dd9b60c35 Merge the PAGECACHE_BLOCKALLOC changes into trunk.
FossilOrigin-Name: 768c1846d48a555054f07edeabdae8817a2c0a8e
2011-08-23 12:50:09 +00:00
dan
06199d84e8 When copying a rollback mode database over a WAL database using the backup API, leave the destination database in WAL mode (instead of switching it to rollback mode). Fix for [af95b8c609].
FossilOrigin-Name: 35e6ac18e3d030095da57fff87a288939e9be93f
2011-08-23 11:47:06 +00:00
dan
da04ea4f88 Change to test instrumentation of os_unix.c: Regard IO errors that occur within SQLITE_FCNTL_SIZE_HINT requests as benign.
FossilOrigin-Name: ca47da2a1f6e6d221470e7f02b129fc21c288d7b
2011-08-23 05:10:39 +00:00
drh
d017ab9922 Remove a branch that is always true.
FossilOrigin-Name: a65681926d8acf779ad39be21b74537c21777783
2011-08-23 00:01:58 +00:00
drh
9147c7b0bc Remove an unreachable branch in the FK code.
FossilOrigin-Name: 6c227cc85378fa6041703d6620031c0e0a2db55f
2011-08-22 20:33:12 +00:00
dan
041a0513aa Modify test cases so that veryquick.test passes with PAGECACHE_BLOCKALLOC defined.
FossilOrigin-Name: c61000705b61dc448a838846826d1a5ab5eaca2b
2011-08-22 14:55:54 +00:00
dan
3098dc5c8a Fix for [b1d3a2e531].
FossilOrigin-Name: 3f3acee465a6e390301f9dc588dd1d8e0bd646bd
2011-08-22 09:54:26 +00:00
dan
d2925706a2 Experimental change: If SQLITE_PAGECACHE_BLOCKALLOC is defined, instead of allocating pages one at a time, allocate blocks of between 15 and 63 pages in a single allocation.
FossilOrigin-Name: 63597097eedf80080fab0c1978cfd66ecaaa79fa
2011-08-19 18:15:00 +00:00
drh
bd1e50c920 When retrying a write() after an EINTR error on unix, be sure to also
rerun the previous lseek().  Ticket [e59bdf6116036a]

FossilOrigin-Name: 21452f3ae6b5882b03c7cc41e661c7b8144cc3df
2011-08-19 14:54:12 +00:00
dan
d5f12cd54d Ensure that the Tcl "db onecolumn" command returns an empty string if the SELECT statement returns zero rows.
FossilOrigin-Name: 928bcaf0f00a408e2f6c1d85dfab214457f52ad5
2011-08-18 17:47:57 +00:00
drh
8e3937ff0d Fix the stat3 analysis loader to be compatible with sqlite3_db_status().
Also fix some OOM issues with the stat3 analysis loader.

FossilOrigin-Name: eaf447ea87b0ff29ae06283204f522fcd005b284
2011-08-18 13:45:23 +00:00
drh
fc0ce2a83e Fix a bug in the cleanup of stat tables on a DROP TABLE in autovacuum mode.
FossilOrigin-Name: 3fe5d54f635f7b27851d256e417f21b91febb871
2011-08-18 02:51:21 +00:00
drh
88ab5b08ad Fix an error with OOM processing in the ANALYZE logic.
FossilOrigin-Name: b26ec79c69f44b55bc4bb11e293f11b3afa3b724
2011-08-18 01:10:35 +00:00
mistachkin
6a3eb4aef3 Properly process x64 DLL exports, which do not contain a leading underscore, in the MSVC makefile.
FossilOrigin-Name: d5936324d27a16ce251f56f5813176c82215d901
2011-08-17 07:46:48 +00:00
mistachkin
81c428a0f8 Add vdbesort.c to the MSVC makefile.
FossilOrigin-Name: 8eaa2cd3f454711f2275d03831bca6a36a0b2504
2011-08-17 02:19:54 +00:00
drh
9da058bb5c Use OP_Sort rather than OP_Rewind in order to sort the content of a new
index on the CREATE INDEX statement.  Add an ALWAYS() to the merge sort
logic to document an unreachable branch.

FossilOrigin-Name: f01766f42342f043bf0cbe1e07224963011f01b7
2011-08-17 00:40:58 +00:00
drh
6825719667 Fix a few harmless compiler warnings. Add SQLITE_ENABLE_STAT3 to the
standard compiler warning script.

FossilOrigin-Name: 3d68f9afee02f95103eb1682b8f2362f8d249437
2011-08-16 17:06:21 +00:00
drh
8c2cd5dac5 Allow the sqlite3VdbeJumpHere() routine to accept a negative or zero address
if a prior memory allocation error has occurred.  The new sqlite_stat3 logic
needs this.

FossilOrigin-Name: 9650d7962804d61f56cac944ff9bb2c7bc111957
2011-08-16 02:07:04 +00:00
drh
461728d3d0 Add the analyze8.test test module for sqlite_stat3.
FossilOrigin-Name: 2c83ac89dc5a6017587defb541c9f3731b98892a
2011-08-16 01:15:12 +00:00
drh
ad2148da00 Updated comments on the multiplexor extension. No changes to code.
FossilOrigin-Name: 0f42ef697e197d193867c0d6be3c9cf6471488c6
2011-08-15 19:44:30 +00:00
drh
71ec5078c4 Fix an assert() in the merge-sort logic to account for I/O errors.
FossilOrigin-Name: c1daa809a17a97610e51f9babd90f36908921245
2011-08-15 15:37:15 +00:00
drh
96e5088cda New makefile target "sqlite3-debug.c" builds an amalgamation that include
appropriate "#line" macros relating the code back to the original source
files.

FossilOrigin-Name: 26f2da24b080bf89e3574bd1a162eb1fead51456
2011-08-15 15:27:20 +00:00
dan
9d71142c9c When opening a temporary file to use in a merge-sort, pass SQLITE_OPEN_TEMP_JOURNAL instead of SQLITE_OPEN_TEMP_DB. This is a better fit, as merge-sort files are written and read sequentially like journal files.
FossilOrigin-Name: bd04756b66e343a7bc6c8bbed9e5cff7b9658d01
2011-08-15 14:41:01 +00:00
drh
50a1c56a2e Update some test cases to work with sqlite_stat3 instead of sqlite_stat2.
FossilOrigin-Name: 2504bcfb0cf14b5ce51db0af1269ac28384714e0
2011-08-15 12:58:23 +00:00
dan
23e7c4de7b Fix a couple of typos in comments in analyze.c.
FossilOrigin-Name: ae31dc67aa0637150f964de31a6da6f5797b462a
2011-08-15 12:02:21 +00:00
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
fdd7f71ef4 Fix the header comment on the implementation of the
file_control_sizehint_test TCL command in test1.c.

FossilOrigin-Name: 309198085f255fc1fcc7bf28fd38d016d5a536ab
2011-08-13 10:47:51 +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
dan
7b14e59bfd Merge the experimental changes to use a merge-sort when creating an index into the trunk.
FossilOrigin-Name: 346a453d1f1d615f1e9e7923a27dad84b8727fb1
2011-08-12 16:47:12 +00:00
dan
a9f39fde23 Update Makefile.in and configure to account for new source file vdbesort.c.
FossilOrigin-Name: 69e4b41de22968c565c6575707a73956e3b20ff4
2011-08-12 16:34:42 +00:00
dan
15bf39034a Merge latest trunk changes into experimental branch.
FossilOrigin-Name: 7e515055f219b01dd72df4e27bdcabfa2f9be5c2
2011-08-12 16:30:30 +00:00
dan
e6f7bc6379 Remove an unused parameter from a function in vdbesort.c. Fix some comments and other details in the same file.
FossilOrigin-Name: 1a8498d8037a1b93e56951bbdbb76291bd5a4f87
2011-08-12 16:11:43 +00:00
dan
689ab89781 Add the SQLITE_OMIT_MERGE_SORT pre-processor directive. To omit the code in vdbesort.c.
FossilOrigin-Name: 4ced2394b10d0a4f86422ff893bcdf3cf32591e3
2011-08-12 15:02:00 +00:00
dan
262765a74e Add tests to improve coverage of vdbesort.c.
FossilOrigin-Name: 87a15917d7d88285054e2a319506dd4a0cac9722
2011-08-12 11:59:57 +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
90315a2417 Make the openDirectory routine in os_unix.c overrideable so that it can
be turned into a harmless no-op for the chromium sandbox.

FossilOrigin-Name: 6b236069e1ea3c99ff0a007a790d4baebda70b13
2011-08-10 01:52:12 +00:00
drh
f6cee7d100 Add command-line utilities "offsets.c" and "extract.c" for use in
low-level analyzsis of database files.

FossilOrigin-Name: dfa22ed4387f9526b74d5265503c7c8e9d559903
2011-08-09 18:14:36 +00:00
drh
0059eae367 In os_unix.c, do not open the directory containing the database file when
the database file is opened.  Instead, wait until time to fsync() the
directory.  And do not report an error if the open fails, since some
systems (Ex: AIX and a chromium sandbox) are unable to open and fsync
directories.

FossilOrigin-Name: 713b1b7dc1296e9cee42aeaad8c85528155f721d
2011-08-08 23:48:40 +00:00
drh
036ac7fa90 Allow the unlink() system call to be overridden in os_unix.c.
FossilOrigin-Name: 8d1b5c3ac027ac00d57a250aad45230a09645617
2011-08-08 23:18:05 +00:00
dan
bf09093f64 Remove redundant parameter from vdbeSorterInitMerge() in vdbesort.c.
FossilOrigin-Name: eec8c0df075d3a54ad71a2854b170f3ed307d068
2011-08-08 19:26:13 +00:00
dan
5279112ea3 Add fault-injection and other tests (and fixes) to improve coverage of vdbesort.c.
FossilOrigin-Name: 0e6defa6aa540b413ea3f4bb6dcd86364d547067
2011-08-08 16:44:25 +00:00
drh
a5ae4c330b Remove relevant elements from the sqlite_stat2 table when doing a DROP
INDEX or DROP TABLE.

FossilOrigin-Name: 3c8f97ae527e380bf2583c7cf8ceac9509f29bfe
2011-08-07 01:31:52 +00:00
dan
01204728f1 Fix a problem with building large indexes introduced by the previous commit.
FossilOrigin-Name: 038ec9ea92f7661358580d999adc400da14d47f0
2011-08-06 15:09:33 +00:00
dan
1e74e602ec In temp files used for merge sorting, store the size of each packed-memory-array at the start of the array itself. This is to avoid having to store the offsets of all arrays in the (potentially very large) file in main-memory.
FossilOrigin-Name: 8051c1767c4386b0f14a66742d9fac41e001eb07
2011-08-06 12:01:58 +00:00
dan
f834eff2f0 Minor internal changes to vdbesort.c. Also, default to merging lists together 16 at a time.
FossilOrigin-Name: 9ddc324a34dbf97acef92eef21f8a35f63db4c5b
2011-08-05 11:49:12 +00:00
dan
f25eef9882 Fix a comment in vdbesort.c.
FossilOrigin-Name: db8518cab8e329b1dbe4cd6c81b21ef3ea69fcb1
2011-08-04 18:43:37 +00:00
dan
c6e734554f Change to using packed-memory-arrays instead of b-trees when performing an offline merge-sort for CREATE INDEX. This makes it easier to control the number of disc seeks required when merging.
FossilOrigin-Name: a4770d079c1b236eb54751e75a44cccc997c6b93
2011-08-04 12:14:04 +00:00
drh
f9042e9682 Merge the winopen-retry-logic branch into trunk. The biggest change here
is to test scripts, which should now use such as copy_file and
delete_file from tester.tcl rather than the raw file commands of TCL.

FossilOrigin-Name: b90c28be3840169651022ef36cd7cf416bc22305
2011-08-03 22:06:39 +00:00
drh
52043d7d45 Update the OP_Move opcode to shift the pScopyFrom pointer of aliases when
compiled with SQLITE_DEBUG.  Ticket [d63523637517386191].

FossilOrigin-Name: a2135ad13049c170b33315a949b1544e6a136183
2011-08-03 16:40:15 +00:00
mistachkin
85e444cab4 Add explanatory comment to the win32lock-2.2 test case.
FossilOrigin-Name: 4cb17881d9676fa3359394391b9ba53f08e5809a
2011-08-02 23:45:53 +00:00
mistachkin
176f1b47e5 Correct subtle timing issues in the win32lock test cases and in the lock_win32_file Tcl command. Also, eliminate superfluous MSVC compiler warnings.
FossilOrigin-Name: 7baf02946e14eb889d864984ff3b3822aad8a3c9
2011-08-02 23:34:00 +00:00
mistachkin
1b466a605d Fix missing info exists check for win32lock-2.2 (the one previously applied to win32lock-1.2).
FossilOrigin-Name: 8a52698e642f40a32d09a6a00b63f25ac38f3fda
2011-08-02 20:19:48 +00:00
drh
8b0228f1a6 Exclude the 8_3_names.test script from the inmemory_journal permutation.
FossilOrigin-Name: 78fc94c8d1229a8bdc9390e98b53c57aeef7fc46
2011-08-02 20:14:55 +00:00
mistachkin
5ea4298c81 Replace the missed 'file copy' in malloc_common.tcl with copy_file.
FossilOrigin-Name: cd20b4ef6020c0cffe918362afc2b491fb95eb92
2011-08-02 20:03:36 +00:00
drh
6c486cbce2 Merge in the permutation changes from trunk.
FossilOrigin-Name: b30a5e307fd5485d23e4c4f8ed1c47525a0fe6d3
2011-08-02 20:01:06 +00:00
drh
82be3b03a8 Also exclude backcompat.test from inmemory_journal since inmemory_journal
is not compatible with WAL mode.

FossilOrigin-Name: 861a5b62430d0ada07a46d0e394fcf0b0faab1cd
2011-08-02 19:59:39 +00:00
drh
ba2019ffae Merge the latest trunk changes into the winopen-retry-logic branch.
FossilOrigin-Name: 8bef97a0eb2f56d0ac374d97e97e0a44c7f99aee
2011-08-02 19:42:38 +00:00
drh
d88d10566c Omit backcompat.test from the journaltest permutation because it uses WAL
mode which is incompatible with journaltest.

FossilOrigin-Name: 2bbf3150a4b7108e88ed81c1d40af6f06089e148
2011-08-02 19:30:20 +00:00
dan
7fe6270b4d Minor fixes to vdbesort.c code in preparation for a major rework.
FossilOrigin-Name: 7f339c0e2655310d7530041c379b082d49ce8c7f
2011-08-02 10:56:22 +00:00
drh
b4256996c4 Make sure IS NOT NULL constraints work on virtual tables.
Fix for ticket [6c14288a473ceff].

FossilOrigin-Name: a55f4ab99952a731e4cd8f6ef17389062e5ed4c5
2011-08-02 01:57:39 +00:00
mistachkin
fda06befd5 Add retry logic for AV defense to winOpen. Also, refactor test suite to allow the key Tcl file operations (e.g. copy and delete) to be retried.
FossilOrigin-Name: 9007586fdabed8dbcc78581ea9821cfd1f9a4c8c
2011-08-02 00:57:34 +00:00
drh
c8eee5e5e1 Fix a (humorous) typo in the lemon documentation.
FossilOrigin-Name: ed630b012f468d6779b83dd8c4dbf3a8dafee573
2011-07-30 23:50:12 +00:00
mistachkin
5b7f786e7e Merge changes for the new sqlite3_file_control() that will cause the -wal and -shm files to persist after the last database connection closes.
FossilOrigin-Name: 1b56677bdfb102d070a2057a65ba424fec81131d
2011-07-28 20:48:38 +00:00
mistachkin
4e6b49b409 Remove redundant sub-expression from retry loop invariant in winAccess. Also, make check for SQLITE_ACCESS_READWRITE formally correct.
FossilOrigin-Name: 93079a92c49edf72eb289f352cd5ed7ab2faaff3
2011-07-28 19:16:41 +00:00
mistachkin
e75a717dc8 Fix conditional for retry logic in winAccess and add missing call to logIoerr.
FossilOrigin-Name: 8a145863d1a8711953ae72d706404fb96f6fec06
2011-07-28 07:34:44 +00:00
drh
58384f1720 Use osStat() instead of stat() consistently in os_unix.c
FossilOrigin-Name: 9109128cb5640d687251dfbefa2fd998063cd9fb
2011-07-28 00:14:45 +00:00
drh
253cea5c6f Test cases added. Fix the query mode.
FossilOrigin-Name: a9d8794ae949df570466a84836882bc8bed95c7c
2011-07-26 16:23:25 +00:00
drh
f0b190d94c Prototype change for a new sqlite3_file_control() that will cause the
-wal and -shm files to persist after the last database connection closes.

FossilOrigin-Name: e34c553bf04761e86f3bd72f91439c05886caa5c
2011-07-26 16:03:07 +00:00
drh
7d2dc7156c Enable the SQLITE_FCNTL_SIZE_HINT on unix even if SQLITE_FCNTL_CHUNK_SIZE
has not been set.

FossilOrigin-Name: 05c9832e5f6eb705f1dce4e65cf4e2d56512ff6b
2011-07-25 23:25:47 +00:00
drh
5d22e41f2d Merge the winAccess retry logic from the anti-antivirus branch
into the trunk.

FossilOrigin-Name: 08d0e8799e1441ef063b1cdf9e4107071a0f81ca
2011-07-23 13:54:34 +00:00
drh
11cce77042 In the multiplexor, close auxiliary files before deleting them when doing
a truncate.

FossilOrigin-Name: 6fb7cfc2efb32dd5c8921a90b853390bc44d4794
2011-07-23 13:11:02 +00:00
drh
fdf6db12a4 Add retry logic for AV defense to winAccess(). Also allow OS tracing to be
enabled by a compile-time option.

FossilOrigin-Name: a6b85c73406caa3bf0585341c8ebc9897a1884f4
2011-07-22 21:25:57 +00:00
drh
75e7bc1db7 Also add the sqlite3-all.c target to the MSVC makefile.
FossilOrigin-Name: 8ce2b74a82264550b0e19da3e0e1a145db940a1c
2011-07-22 11:23:49 +00:00
drh
07516dd5df Add makefile targets sqlite3-all.c.
FossilOrigin-Name: 71f7be586f5a18493cd516f89c4ecc460bb24462
2011-07-22 11:16:39 +00:00
drh
fe34996549 Adjust the maximum number of open database connections in wal3.test down
for OpenBSD.

FossilOrigin-Name: b38e52f67574997de9f4b4318f2eb68ff0133f35
2011-07-22 10:53:05 +00:00
drh
16b92eef35 Use $(TCLSH_CMD) instead of tclsh in the autoconf makefile.
FossilOrigin-Name: fd36d8067b5a29d9acbf8c96b9d837406d0c0cce
2011-07-22 10:33:04 +00:00
drh
b51bf43966 Compile with the SQLITE_ENABLE_8_3_NAME macro set to 2 to force 8+3 filenames
to be on all the time.

FossilOrigin-Name: ae83dac70173fecf203bf7e9f7bcb189d3e48f08
2011-07-21 21:29:35 +00:00
drh
e6deb20458 All multiplexor chunk sizes up to 4GiB. Disable the multiplexor if the
chunk size is set to 0.

FossilOrigin-Name: 83191ad6f31536b0c1929938e1fbeb4cf6121ab0
2011-07-21 20:59:58 +00:00
drh
0a0ca697d8 For an existing multiplexed database, try to set the chunk size automatically
based on the sizes of the preexisting pieces.

FossilOrigin-Name: 427a9a5120a68bfa12fec97cfd02eb9b28b3fa6b
2011-07-20 17:59:38 +00:00
drh
877eeb3b56 All the SQLITE_OPEN_URI flag to propagate down into the VFS.
FossilOrigin-Name: 29866f9598502a007816410fade34f1d0952dea0
2011-07-20 17:13:30 +00:00
drh
f3717af48d When the multiplexor opens an auxiliary file, it now persists the name of that
file until it is closed, as it should.  Remove the limit on the number of
auxiliary files used by the multiplexor.

FossilOrigin-Name: 1ffa542bf913200a18ef77447aec4fc3ca1ed618
2011-07-20 16:35:31 +00:00
drh
8efdb73256 Formatting changes on the multiplexor code - make sure no lines exceed 80
characters.  No logical changes.

FossilOrigin-Name: ed5f0aad6b21066bacd01521e82c22e96991f400
2011-07-19 18:29:00 +00:00
drh
c4e384beb8 Increase the version number to 3.7.8.
FossilOrigin-Name: 4355bf2908b923e844907c1e3c09be3bf469f833
2011-07-19 15:27:59 +00:00
dan
33067e7393 In os_unix.c, check if the ESTALE macro is defined before using it.
FossilOrigin-Name: 87017410f2fc3f2ae15ef06714563ba9ad4350c7
2011-07-15 13:43:34 +00:00
drh
bf4ec555fa Do not try to use STAT2 to refine the row estimate of a query that
uses a unique or nearly-unique index.

FossilOrigin-Name: efffc49baf38698ed3de05d16b4261bf405d42d7
2011-07-13 18:31:10 +00:00
drh
d0cdf012a2 Added the SQLITE_FCNTL_WIN32_AV_RETRY file control for configuring the
retry counts and delays in the windows VFS.

FossilOrigin-Name: 7aaf0a6ae1238129e07eb191ca3f043df445e27a
2011-07-13 16:03:46 +00:00
drh
3bb600f5c6 Merge the improved anti-virus defenses into the trunk.
FossilOrigin-Name: 0207fd9b0c0f6baa3c2cb8ba588ad585507848b3
2011-07-12 14:38:25 +00:00
dan
a20fde64eb Experimental support for speeding up CREATE INDEX commands using an offline merge sort.
FossilOrigin-Name: 30dbf0feab0323250404e0741ac2716bcb6b0cbe
2011-07-12 14:28:05 +00:00
mistachkin
dc9e9587c6 Revise logic in winDelete to check the file prior to attempting to delete it.
FossilOrigin-Name: 36f11acc531a524407e03c797a6a1bcf88bad809
2011-07-12 14:02:47 +00:00
drh
a32ad8434e Improvements to the logging that occurs on an antivirus I/O retry.
FossilOrigin-Name: ff0ff75c3559f5bbe29c73204cc8ff1cb80f42cb
2011-07-12 13:51:05 +00:00
drh
52564d7002 Update the anti-virus retry logic for DeleteFile(). Invoke sqlite3_log()
for each anti-virus retry.  Make the retry delay configurable at
compile-time.

FossilOrigin-Name: 89f1848d7f7d98b4f7da9218f99ed90d22dd43a8
2011-07-12 11:04:18 +00:00
drh
80084ca8e8 Update the TCL commands for setting windows manditory locks.
Add test cases for manditory lock delays under windows.

FossilOrigin-Name: 03af4c175c6ba303ec0a5be25fd42771e38f7347
2011-07-11 23:45:44 +00:00
drh
5d9ef0a612 Change the windows backend to retry read and write requests if the encounter
ERROR_LOCK_VIOLATION and ERROR_SHARING_VIOLATION errors - which we think
sometimes happens due to agressive anti-virus software.

FossilOrigin-Name: c20aca06610407c197ea50ea77c2591aacf2252a
2011-07-11 18:17:56 +00:00
drh
ec661058dd Fix harmless compiler warnings on unix.
FossilOrigin-Name: 90b1aea17400bbda5ebc8ae4eb4e12127519e42e
2011-07-09 16:17:18 +00:00
drh
f1d3e32909 In where.c::findIndexCol - make sure that the Expr.op is TK_COLUMN before
accessing the Expr.iColumn and Expr.iTable fields.  Also fix a couple of
unreachable branches.

FossilOrigin-Name: 418a4da2a96cf33055f18c9a667754fad2111cf3
2011-07-09 13:00:41 +00:00
drh
6f25e89d27 Change the default chunk size on test_multiplex.c to 2147418112 bytes
(formerly 1073741824 bytes) and make the default configurable at compile-time
using SQLITE_MULTIPLEX_CHUNK_SIZE and at run-time using the "chunksize"
URI query parameter.  Add support fo test_multiplex to the shell.

FossilOrigin-Name: e305b5a931374e2a1d2e66ea0a1248b9d4aecb19
2011-07-08 17:02:57 +00:00
dan
da79cf0cc9 Fix for [54844eea3f]: Do not create automatic indexes on correlated sub-queries.
FossilOrigin-Name: 9f14fa56ba31afe3de8b0cf26ed09573a2cc2283
2011-07-08 16:10:54 +00:00
drh
a9b1b91436 Extend the SQLITE_TESTCTRL_OPTIMIZATIONS option to disable DISTINCT
optimizations.

FossilOrigin-Name: 18501dd1a8aa8299c091c36e35b9a10a29d4467b
2011-07-08 13:07:02 +00:00
drh
e363c1d187 Update the tool/symbols.sh script to check for accidentally exported
global variables.

FossilOrigin-Name: 71b749a9dca953cdf671d94afec16e2c98f3aee5
2011-07-07 08:52:24 +00:00
dan
e7152dc76b Add a target to main.mk that will fail if the amalgamation contains any exported symbols that do not begin with "sqlite3_". Run this target from within releasetest.tcl. Add "static" to a couple of private functions in mem3.c.
FossilOrigin-Name: a68b6580c7d436c896a644a475cdba33c2c8d6e6
2011-07-07 08:19:16 +00:00
dan
f443e317f7 Remove accidental global variable "doclist" from fts3Int.h.
FossilOrigin-Name: f244b2f3959e86fac555b91438cfe90528ab1648
2011-07-07 07:37:53 +00:00
dan
b0a43057fb Expose the value of compile time symbol SQLITE_MAX_DEFAULT_PAGE_SIZE to test scripts.
FossilOrigin-Name: 335736637c4ac3fe56a44fe01d4c037aaefa916a
2011-07-06 09:36:59 +00:00
dan
da6e42ab32 Adjust a couple of test scripts so that they work with OMIT_UTF16 builds.
FossilOrigin-Name: 6c51bad0a306558d2725463b5675c3799fabcb9d
2011-07-04 06:52:15 +00:00
drh
b24d83fb35 Add a testcase macro to ensure testing a boundary case in DISTINCT processing.
FossilOrigin-Name: ff9fc722dc481df1ce6a9733db1f033b88141d5d
2011-07-02 19:12:05 +00:00
dan
969e5595e8 Ensure that automatic indexes are only created in scenarios where they may be used more than once.
FossilOrigin-Name: 27c65d4d9c58bfc4ea8f9337fa15090459fb26c5
2011-07-02 15:32:57 +00:00
dan
9661c027a4 Merge experimental changes improving optimization of DISTINCT queries with the trunk.
FossilOrigin-Name: 45e581bff7a75db6c9a2c45b73d034d0b8a166d1
2011-07-02 09:46:52 +00:00
dan
94e08d92f9 Fix a broken assert() in where.c.
FossilOrigin-Name: 090b29177fbc9faa83b560d92ddc3710d291776e
2011-07-02 06:44:05 +00:00