Commit Graph

15074 Commits

Author SHA1 Message Date
drh
f7ce4291a9 Remove unreachable branches from the decltype computation logic in the query
planner.

FossilOrigin-Name: 4f2bcff94c672312805be1400050a7026f93a9d7
2015-12-02 19:46:12 +00:00
dan
9a8941fc83 Have the sqlite3_column_decltype() API report the declared types for the left-most SELECT statement in a compound SELECT.
FossilOrigin-Name: 3e1d71fcaf57c0223ab9a7366c8607f8f66bb21c
2015-12-02 18:59:44 +00:00
drh
af19f173d3 Fix an incorrect, though harmless, assert() in the unix VFS.
FossilOrigin-Name: 4692ae84f93530e27d7c106a60236355e176b7fd
2015-12-02 17:40:13 +00:00
drh
ab37277367 Remove more (dead) SQLITE_FCNTL_WAL_BLOCK logic from wal.c - code that was
missed during the [e1d5320ca08933] check-in.

FossilOrigin-Name: 58c15c6af964563ac7ece8606d16730ccf9ee72b
2015-12-02 16:10:16 +00:00
drh
333e6ca9a5 Remove an unreachable branch from the unixMapfile() routine of the unix VFS.
FossilOrigin-Name: b50f67bc46e65fe4e51667d48b4add58706a9443
2015-12-02 15:44:39 +00:00
drh
f3b1ed0fc2 Minor simplifications to the unix VFS.
FossilOrigin-Name: 2f13c16b45685ec6850cbd9da79e8198bad6a491
2015-12-02 13:11:03 +00:00
drh
2c8fd12f42 Change the SQLITE_NO_SYNC compile-time option to call fstat() in place of
fsync() rather than being a total no-op.

FossilOrigin-Name: f64ea8a052af9790d5e6987cbd5e81d77da6f172
2015-12-02 02:33:36 +00:00
drh
adfa22e118 Fix a (harmless) off-by-one error in the unix VFS logic that fsync()s a
directory after deleting a file.

FossilOrigin-Name: 3d02711a709a7e708edb0ea8ca5d17b39dd307f6
2015-12-02 02:08:30 +00:00
drh
50358adfaa Simplification of the logic used to take the process-wide lock in the
unix-excl VFS.

FossilOrigin-Name: 73defd52bb0e3e5db763d3bfbeebc972b645867e
2015-12-02 01:04:33 +00:00
drh
dcfb9652fd Remove all traces of SQLITE_FCNTL_WAL_BLOCK from the unix VFS - that feature
had been disabled for a long time and never actually worked.

FossilOrigin-Name: e1d5320ca089336e26d200305b744b06ce883be4
2015-12-02 00:05:26 +00:00
drh
053378dfa8 Simplification to the posix_fallocate() replacement used for the
SQLITE_FCNTL_SIZE_HINT file control in the unix VFS.

FossilOrigin-Name: 74934d3f60ad9f6550297410eada0f288e0123c4
2015-12-01 22:09:42 +00:00
drh
41d2e66ef3 Add the SQLITE_LIKE_DOESNT_MATCH_BLOBS compile-time option.
FossilOrigin-Name: 9e1d6d4c391ff90077f0d1cdeb567969fee9f747
2015-12-01 21:23:07 +00:00
drh
415afddaae The test_fs.c test module now works on Windows.
FossilOrigin-Name: e3d8628456848a70035bbdeca6dc6c21f688b9a5
2015-12-01 17:48:45 +00:00
drh
e1818ec740 Simplification to the read and write primatives in the unix VFS.
FossilOrigin-Name: 9eefa449792f03c4c149edcbc6b9b7692617994c
2015-12-01 16:21:35 +00:00
mistachkin
92af1ebc75 Add experimental support for the 'test_fs' test module on Win32.
FossilOrigin-Name: f3ffb3aeea95712e92919fd5071741327add9643
2015-11-30 23:29:07 +00:00
drh
c386ef4f2c Add the SQLITE_PRINTF_PRECISION_LIMIT compile-time option.
FossilOrigin-Name: ecad75d69e0d5c83dd3584d363e557e84b65f7f2
2015-11-30 22:52:14 +00:00
drh
025d2f7ad8 Fix a problem in xFullPathname for the unix VFS. The problem was found by
Kostya Serebryany using libFuzzer.

FossilOrigin-Name: bb1e2c4df0b81327923f121dd6c002845486a314
2015-11-30 22:22:23 +00:00
drh
40fe8d31f5 The EOVERFLOW errors from fstat() is not possible unless SQLite has been
compiled with SQLITE_DISABLE_LFS.

FossilOrigin-Name: 8cfb7a50bb70ba1e021c1d12d31563e98a20d291
2015-11-30 20:36:26 +00:00
drh
f8b0be48d1 Fix the threadtest3 test program so that it works with VFSes that omit the
xCurrentTime() method and supply only xCurrentTimeInt64().

FossilOrigin-Name: 3b155855f3d5918f1df7dbd19783215b3da0ca3e
2015-11-30 19:15:25 +00:00
dan
d6b459c996 Add the "colUsed" field to the sqlite3_index_info structure passed to virtual table xBestIndex methods. To indicate the subset of the virtual table columns that may be required by the current scan.
FossilOrigin-Name: 47f10b7e5d8c1d965df891990090623444933cc9
2015-11-30 12:01:37 +00:00
drh
a8de1e1c90 Simplifications to the locking logic in the unix-dotfile VFS.
FossilOrigin-Name: 583813525888c7e106f3e8cb46c1a507006daee6
2015-11-30 00:05:39 +00:00
drh
06db66f989 Fix the sqldiff utility program so that it works for schemas that have
tables with zero-length column names.

FossilOrigin-Name: 64263ccb8f9835c615242de6e28db24f953422fa
2015-11-29 21:46:19 +00:00
drh
b7e50ad555 Improvements to temporary file creation logic in the unix VFS.
FossilOrigin-Name: d6e177fd09c83d46adc5b5d36e9a439aa5397450
2015-11-28 21:49:53 +00:00
drh
790f287c53 Add the SQLITE_FCNTL_VFS_POINTER file control which obtains a pointer to
the top-level VFS in use by a database connection.

FossilOrigin-Name: 7c6a809e25138950f50554e1fb96e0b6ebbe0bd4
2015-11-28 18:06:36 +00:00
drh
ecf0c275bb Disable testing with SQLITE_USER_AUTHENTICATION as the makefiles are not set
up to do that.

FossilOrigin-Name: 14bbcdc64ecc21f47aed8935858788928ca63107
2015-11-28 17:38:22 +00:00
drh
a6082f699e The first argument to SQLITE_CONFIG_PAGECACHE, SQLITE_CONFIG_SCRATCH, and
SQLITE_CONFIG_HEAP must always be a pointer.

FossilOrigin-Name: 5e14cadff09d7425c8e1cc5e817f2b0609e52a46
2015-11-26 22:12:41 +00:00
dan
1acb539f4c Add the "colUsed" field to the sqlite3_index_info structure passed to virtual table xBestIndex methods. To indicate the subset of the virtual table columns that may be required by the current scan.
FossilOrigin-Name: 116b206494eb8ba963c7c5acfbf9e7b6db11c79c
2015-11-26 19:33:41 +00:00
dan
fab1d401f8 Fix a problem with the userauth extension and no-authentication databases. Run the tests for this extension as part of the Debug-One module in releasetest.tcl.
FossilOrigin-Name: 8b15621952889b4ba53b2ea3171fef7ef0479ddb
2015-11-26 15:51:55 +00:00
drh
acb6b28d60 Simplify logic for syncing directories after creating or deleting a file in
the unix VFS.

FossilOrigin-Name: eb180b4f04d412dcd0af138e2dd7f62fbb5ac439
2015-11-26 10:37:05 +00:00
drh
5a2d970a1a Small simplification to the xOpen method in the unix VFS.
FossilOrigin-Name: 96e7d638ecdabbf84a152036eb01d408d142839e
2015-11-26 02:21:05 +00:00
drh
970942e4fc Simplify the temporary filename generator and the time-of-day functions in
the unix VFS.

FossilOrigin-Name: 6c5621ce1b1a65913b088ed8be65f9b689260d2c
2015-11-25 23:13:14 +00:00
drh
489f1e86e3 Fix harmless compiler warnings in test_fs.c. Fix typos and clean up the text
of the documentation for sqlite3_strglob() and sqlite3_strlike().

FossilOrigin-Name: 697b20534c2d780cdd8cc165d2930f6e56480770
2015-11-25 18:40:38 +00:00
dan
1e93173ffc Update test_fs.c to include a virtual table that reads a file-system hierarchy. Use it to further test GLOB and LIKE support for virtual tables.
FossilOrigin-Name: 6ef6578c03b7cfbeaaf3627b9eea2febf501ace5
2015-11-25 18:07:46 +00:00
drh
d260b5b2ce Make the xAccess method of the unix VFS smaller and faster.
FossilOrigin-Name: 191aef986ffc4ef34d813e417e52a4ec820b0300
2015-11-25 18:03:33 +00:00
drh
5337dacbad Remove unused methods from the unix VFS.
FossilOrigin-Name: 228bd15bbb7a1e6e3e0d03832e7f39ba169356a8
2015-11-25 15:15:03 +00:00
drh
91c4defbcf Simplification of the error code translator in os_unix.c. Code cleanup only.
The logic is unchanged.

FossilOrigin-Name: 2a20f793fdf6a2e88b679a7bd4e8ccf2935df049
2015-11-25 14:00:07 +00:00
dan
f5d8c58950 Fix the fts5 "prefix=" option to match the documentation (space separated list, multiple prefix= options supported). The undocumented comma-separated format (compatible with fts4) still works.
FossilOrigin-Name: 11eb8e877e2ba859ef6b44318f286597186dfaf2
2015-11-25 11:56:24 +00:00
drh
d4a3ce49d7 Enhancement the virtual table interface to support LIKE, GLOB, and REGEXP
operators.  Also add the sqlite3_strlike() interface, which might be useful
as part of the implementation of LIKE on some virtual tables.

FossilOrigin-Name: a6bfd4692c3f8b107546fbcaeb985d2c1817b3c1
2015-11-25 01:57:42 +00:00
drh
8b4a94adc1 Add the sqlite3_strlike() interface, which might be useful for implementing
LIKE operators on virtual tables.

FossilOrigin-Name: e70ec71d6883f2f8fc75301ff985bccb5aa06127
2015-11-24 21:23:59 +00:00
dan
ff7b22b714 Fix a problem in whereexpr.c causing a crash while processing a user-function taht accepts zero arguments.
FossilOrigin-Name: 069e51b19c773aa3017a8d307c8daa0766c224ba
2015-11-24 18:16:15 +00:00
drh
060f9a4a18 Fix harmless compiler warnings in the TCL test harness logic.
FossilOrigin-Name: 2fba7a96566b5448f527a4ec6a26e860c4889813
2015-11-24 18:04:39 +00:00
dan
898f70bc28 Merge latest trunk changes with this branch.
FossilOrigin-Name: 99222bb3e5f9b2a9a10d9561a9fd8c0f717baaff
2015-11-24 17:44:26 +00:00
dan
43970dd774 Add further tests and related fixes for GLOB/REGEXP/LIKE support in virtual tables.
FossilOrigin-Name: c5e9fd0dc92a07db3d3b5f5c5ad8fb63b3425c2b
2015-11-24 17:39:01 +00:00
drh
5a8d190b9e Remove from os_unix.c pointless logic that tries to prevent a recurrence of
a warning message that can only occur once.

FossilOrigin-Name: 20256177072caa4f2b4114038ad1c8f6e26bc562
2015-11-24 16:40:23 +00:00
drh
aaeaa18e2e Fix a comment typo in the unix VFS. No changes to code.
FossilOrigin-Name: 32e138796c66c88e8cbb77aa3a4282a38d1f959a
2015-11-24 15:12:47 +00:00
drh
6226ca2a6d Make the geteuid() system call overloadable using xSetSystemCall() on the
unix VFSes.

FossilOrigin-Name: 6c2ddea65e1871b2fcb4991c5b3e6992993db3ea
2015-11-24 15:06:28 +00:00
drh
7060ef9294 Add a test case for the fix of check-in [19d9f9ce691963310]
FossilOrigin-Name: 19a9c07b26a4123dc60abdcc84a956f88c352bab
2015-11-24 03:50:16 +00:00
drh
2edc5fd73a Remove an incorrect ALWAYS() macro. Fix for ticket [e5c6268dd807fa8950] -
a problem introduced in SQLite 3.9.0 and found by libFuzzer.

FossilOrigin-Name: 824ad96f72cb0c948ec98aca9d17a7e6790c575f
2015-11-24 02:10:52 +00:00
mistachkin
a9124d359b Add a clarifying comment to the virtual table test module 'test8'.
FossilOrigin-Name: e92f97a6794440eb9d64e21218d39cb0e297a98e
2015-11-24 01:17:01 +00:00
drh
3d4143a38a Do not try to eliminate No-ops at the end of VDBE program as this can cause
problems for some DISTINCT handling algorithms, and does not improve
performance.  This also fixes an assertion fault found by libFuzzer.

FossilOrigin-Name: 19d9f9ce691963310fa73ac5ff728ea8dea9d2b2
2015-11-24 00:49:44 +00:00
dan
07bdba86d5 Add experimental support for LIKE, GLOB and REGEXP to the virtual table interface.
FossilOrigin-Name: 277a5b4027d4c2caba8143228a4f7d6df899dbb4
2015-11-23 21:09:54 +00:00
dan
8836cbbcb4 Fix an obscure memory leak found by libfuzzer that may occur under some circumstances if expanding a "*" expression causes a SELECT to return more than 32767 columns.
FossilOrigin-Name: 60de5f23424552c98aa760ac89149a3d51f895be
2015-11-21 19:43:29 +00:00
drh
62aaa6ca88 Fix over-length source code lines. No logic changes.
FossilOrigin-Name: 198d191b2f5ef7d63ac0093c701955c9052fd734
2015-11-21 17:27:42 +00:00
drh
202923107d Do not allow table-valued function syntax on ordinary tables and views as those
objects are not table-valued functions.
Fix for ticket [73eba7ba5c7c0fc].

FossilOrigin-Name: ff5716b89f99d9c4568a39f1f52524528a631623
2015-11-21 13:24:46 +00:00
drh
c960dcbace Refactor the VdbeCursor object. It is now slightly smaller and faster and is
easier to understand.

FossilOrigin-Name: 9b1d174d862500a627840008ffac4c8419dc97e2
2015-11-20 19:22:01 +00:00
drh
5f7dacb443 In the OP_Column opcode, only test the btree payload size for exceeding the
string length limit if the payload does not fit on a single page.

FossilOrigin-Name: 35c7f6cba6febf2480de01fca9d61b8065bf1c12
2015-11-20 13:33:56 +00:00
drh
7977fa3ab2 Enhancements to a comment in sqliteInt.h. No changes to code.
FossilOrigin-Name: 5446ae64d7f92444ca40aae2108015d1d77bc03f
2015-11-20 13:17:29 +00:00
drh
18f8e73453 Fix problems with the way the IsHiddenColumn() macro is defined.
FossilOrigin-Name: 126b998cf163dcdd5a222634f1e929f04db3c700
2015-11-19 18:11:20 +00:00
dan
aaea31439d Fix a problem with VACUUM and __hidden__ columns.
FossilOrigin-Name: 13995756ad8b80568aa2f74387788a8cab1123ef
2015-11-19 18:09:05 +00:00
drh
80090f9221 When manifesting a view as part of an DELETE or UPDATE, be sure to include
the hidden columns in the manifestation.

FossilOrigin-Name: 28df5dc4a9569f388af2ee0d1f016afbea132277
2015-11-19 17:55:11 +00:00
dan
ba68f8f3f5 Fix problems with INSERT INTO ... SELECT ... statements that write to tables with __hidden__ columns.
FossilOrigin-Name: 59bd0ec7d4327852ee8c0206b2c59d0a12484db8
2015-11-19 16:46:46 +00:00
drh
1a1d3cd2f3 Create the new TK_ASTERISK token to represent the "*" in "SELECT *". Formerly
that operator was TK_ALL, which was also used for UNION ALL.  Less confusion if
they operator symbols are distinct.

FossilOrigin-Name: 201ac6d449431dadc6b29faecd68b559bd64bc9f
2015-11-19 16:33:31 +00:00
drh
05bdfa4a6f If compiled with SQLITE_ENABLE_HIDDEN_COLUMNS, then columns in ordinary
tables and views that have names beginning with "__hidden__" are omitted from
the "*" expansion in SELECT statements and from the automatic list of columns
following the table name in an INSERT INTO statement.

FossilOrigin-Name: 011904cad2be2ce34e2f37ffae8ff2f1044a2969
2015-11-19 14:11:58 +00:00
drh
03d69a6826 Only support the magic "__hidden__" column name prefix interpretation when
compiled with SQLITE_ENABLE_HIDDEN_COLUMNS.

FossilOrigin-Name: 5490646b2eb74ea8bd5ab2690f69b9c707a0165f
2015-11-19 13:53:57 +00:00
drh
a6f88ffd3a Fix a 10-year-old misguided attempt at parser performance improvement that
actually made parsing slightly slower.

FossilOrigin-Name: 3833cbac0706ecac9a641d70b786d26f7e1a42b1
2015-11-19 13:21:31 +00:00
drh
b1daa3f469 Get the __hidden__ column mechanism working on views with INSTEAD OF triggers.
FossilOrigin-Name: 20c1e9ce75cc0b5f7456379f35a4fe24edd98088
2015-11-18 21:22:02 +00:00
dan
ab5a8ee3e4 Add tests for views to hidden.test.
FossilOrigin-Name: 27d4b6f5756c7b19c00c95d46a77280c8b6f03a4
2015-11-18 20:59:47 +00:00
drh
6aed239acc Honor the "__hidden__" prefix on the columns of views.
FossilOrigin-Name: 3071ba2bdbda7018d0a285eceb04b8527209ec1e
2015-11-18 20:57:50 +00:00
dan
d1ce65fc76 Add a test for the __hidden__ hack on this branch.
FossilOrigin-Name: ebf4bbffec58111a670c46a9eb469bfd2440b0b1
2015-11-18 20:07:12 +00:00
drh
f0c9145a36 If a table column name begins with "__hidden__" then do not include that
column in "*" expansions in SELECT statements, nor fill in that column in
an INSERT INTO that omits the column list.  <b>This branch is a 
proof-of-concept only and is not intended to ever be merged into trunk.</b>

FossilOrigin-Name: 2dbffb3a3b20dba7d7d86c8ad2e34633f616c78a
2015-11-18 18:43:15 +00:00
mistachkin
c88cd13753 When using mmap mode on Win32, use a read-only mapping by default. Write to the database file using WriteFile(). Unless SQLITE_MMAP_READWRITE is defined, in which case use a read/write mapping and write into the file using memcpy().
FossilOrigin-Name: 4f521b5bb36a1117db324e92dcf80abd2f1a5bc1
2015-11-17 21:42:32 +00:00
dan
fe33e39ba6 When using mmap mode on unix, use a read-only mapping by default. Write to the database file using write(). Unless SQLITE_MMAP_READWRITE is defined, in which case use a read/write mapping and write into the file using memcpy().
FossilOrigin-Name: 67c5d3c646c8198c8637069140aca952b802df25
2015-11-17 20:56:06 +00:00
mistachkin
bfe8bd5a5e Fix uninitialized variable in the command line shell.
FossilOrigin-Name: dc2ac024d31a898bbc3e7fc824d806e63e993234
2015-11-17 19:17:14 +00:00
mistachkin
81c7811fe7 Fix harmless compiler warning.
FossilOrigin-Name: eea26b6caea37422c9b46a7a3a538b0c9575f392
2015-11-17 19:16:39 +00:00
dan
e4e416e87e Add testfixture command "vfs_current_time_int64". Returns the value returned by the xCurrentTimeInt64 method of the default VFS.
FossilOrigin-Name: f79d5b1853b3d4316ea08de8206ffca33e44c395
2015-11-16 15:28:54 +00:00
dan
3fd415b2bf In the shell tool, avoid testing if (sqlite3_vfs.xGetCurrentInt64) is NULL for a version 1 VFS. This field is only defined for version 2 and greater.
FossilOrigin-Name: ad5fcaa583ef743d143b6c030e0d78019709fe71
2015-11-16 08:54:10 +00:00
drh
f7ee8965a5 Fix the column name uniquifier so that it works with zero-length column names.
FossilOrigin-Name: 791761ebac26c82ab67bdf867117ec5b5d8b20b0
2015-11-15 11:13:49 +00:00
drh
96ceaf8680 Code simplification in sqlite3ColumnsFromExprList(). Update the %z format
code so that it works with buffers obtained from sqlite3DbMalloc().  Add a
testcase for the slow column name uniquifier.

FossilOrigin-Name: 9272426057b6cb2d913519ff4c97aa6e211f7d51
2015-11-14 22:04:22 +00:00
drh
0315e3cc14 Use a hash table to improve the preformance of column name uniqueness checking.
FossilOrigin-Name: 5b08f29f458c600401860c7d70d8174cf61e69f8
2015-11-14 20:52:43 +00:00
drh
ebed3fa3e1 Use randomness to prevent showness in the generated-column-name uniqueness
checking.

FossilOrigin-Name: 6266712968a2cdcd6f5a3007d60c2cf1b3faf912
2015-11-14 16:47:23 +00:00
drh
6653fbe91f Fix a memory leak in the fuzzcheck utility.
FossilOrigin-Name: dfd6d9f4fbe902086f9158dfa5f37e781765a683
2015-11-13 20:52:49 +00:00
dan
ce6cbf9ff4 Add the "--enable-static-shell" option to the amalgamation autoconf script. If set (the default) the compiled shell tool is statically linked against sqlite3.o. Otherwise, it is linked against libsqlite3.so.
FossilOrigin-Name: 499a02a34316cada9e197ef1d2e77c4cd75c41be
2015-11-13 16:59:00 +00:00
drh
05d4ebf6c3 Add the --transaction option to the sqldiff tool.
FossilOrigin-Name: 8882d1f3ef0fc53d7c19918c3af43c5bdd79e88f
2015-11-13 13:15:42 +00:00
drh
d63fbb7103 Fix the releasetest-out.txt log output from releasetest.tcl so that it works
when the --jobs option is used.

FossilOrigin-Name: 6bb314a5022c8bae63f6cdb48652915e05c06a38
2015-11-13 12:52:34 +00:00
drh
29fbdb731b Disable two PRAGMA cache_spill tests when MEMORY_MANAGEMENT is enabled.
FossilOrigin-Name: ebda77aad4d964593606ded2fdb19259ef9ebb8e
2015-11-13 12:32:01 +00:00
drh
061d35c145 Change the error messages so that they begin can be grepped using '^!' instead
of '^ '.  There are far too many extraneous outputs that being with a space.

FossilOrigin-Name: 367ec0db49607559960d58891771113c205fd951
2015-11-13 00:03:14 +00:00
drh
5e3cefe3d0 Update the SQLLOG logic so that to builds in accordance with the instructions
in the header comment.

FossilOrigin-Name: ee6f2feec7d777a969ddba6dc00fb571d64e57f8
2015-11-12 23:48:08 +00:00
drh
8d4482da96 Always parse the schema *before* running "PRAGMA cache_size", not after.
FossilOrigin-Name: 12e7d9ec023db4dd837f76006c87defc5a3e9388
2015-11-12 22:15:18 +00:00
drh
d66b2e02ee Add a space before each line of error output in the test scripts so that all
errors can be conveniently located in logs by doing "grep '^ '".

FossilOrigin-Name: 9d532fb50d310df629ea65193f21dc9b3594ff5f
2015-11-12 21:42:40 +00:00
dan
d83f7ca114 Add support for the SQLITE_SQLLOG_CONDITIONAL environment variable to the logging code in test_sqllog.c. When defined, logging is only performed if the "<database>-sqllog" file is present in the file system when the main database is opened.
FossilOrigin-Name: cab8126be9f63dd596719b12704ba77c128282bc
2015-11-12 20:12:51 +00:00
drh
c2e0dd4ddd Enhance the "PRAGMA cache_spill" statement to accept an integer argument which
is the threshold at which spilling will begin.

FossilOrigin-Name: f79d264db24a470d1a4571e15a99cd3d68b5166c
2015-11-12 16:44:40 +00:00
drh
4f9c8ec62d Test cases. Minor problems fixed. All appears to work now.
FossilOrigin-Name: 9a431362dccbc9b8f93375f30a3b8955903cca79
2015-11-12 15:47:48 +00:00
drh
644f4c1bbb Fix a #define in parse.y that disabled unused code in the generated parser.
FossilOrigin-Name: f84e3085c87cfffe4aba0eb4c4a3298b4027db83
2015-11-12 15:04:05 +00:00
drh
9b0cf34f81 First attempt at enhancing the "PRAGMA cache_spill" statement to accept a
cache threashold size.

FossilOrigin-Name: 549d42be0dac87dc04c3eeccfdc60615c3a6ad3f
2015-11-12 14:57:19 +00:00
mistachkin
24e9895f81 Fix missing word in a documentation comment. No changes to code.
FossilOrigin-Name: ed24d302657e8495bef7f5ed698c7cca12717be9
2015-11-11 18:43:49 +00:00
drh
3d38cec99a Improvements to the SQLITE_CONFIG_PAGECACHE documentation. Enhance the
command-line shell to be able to take advantage of the full range of
SQLITE_CONFIG_PAGECACHE capabilities, such as setting pMem==NULL and N<0.

FossilOrigin-Name: 2518d5c971c4b32d9227b3bb7259162e3e27b00b
2015-11-11 15:28:52 +00:00
drh
0c4105ee19 Improved output formatting for "PRAGMA parser_trace=ON;".
FossilOrigin-Name: e43e1171fd7837a08069dc25df4eac14db1c2afe
2015-11-10 14:51:22 +00:00
drh
97e58a2feb Make the output of "PRAGMA parser_trace" go to stdout instead of stderr.
FossilOrigin-Name: 1e4849911e3eed65eabee18fdee63bab4faae57a
2015-11-10 14:27:17 +00:00
drh
3334d08989 Save a few bytes in the parser by using "int" instead of "u8" or "u16" for
all small integer types.

FossilOrigin-Name: 5dcd212bf6489f4698a0ed0f21497c78379f7c0f
2015-11-10 13:45:21 +00:00
drh
634b242ebe Change all parsers to use the standard "lempar.c" template in the tool/
folder and remove the customized lempar.c from src/, plus other compiler
performance and space enhancements.

FossilOrigin-Name: 0e7fb24ad3c010884763a97e6ae7a3fd39d0e5a9
2015-11-10 12:41:03 +00:00
drh
43509768e1 Fix harmless compiler warnings in FTS5.
FossilOrigin-Name: 09752e51a18ac1b4c9642965e6ee1b6a32de00df
2015-11-10 12:31:25 +00:00
drh
54bb56d82a Performance enhancement to the tokenizer.
FossilOrigin-Name: 6ea2df86c95c226052f528424e9bee367a2e765a
2015-11-10 03:30:51 +00:00
drh
07b09a9420 Remove an unused non-terminal from the grammar.
FossilOrigin-Name: 3c37c522883ea9f2eec4f0ba5c5141912c003425
2015-11-10 00:02:49 +00:00
drh
822a62f84d Fix a comment typo in the lempar.c template that was missed by the prior
check-in.

FossilOrigin-Name: c4a7e93fca622fd11a6e16161fbd2f39c2575f00
2015-11-09 19:35:18 +00:00
drh
82415f2d8d Change the parser to use the standard "lempar.c" template over in the tool/
folder rather than the customized "lempar.c" found in src/.

FossilOrigin-Name: 0a72991f4e54548f6c3268c5a9cac1c8d6437d26
2015-11-09 19:33:42 +00:00
drh
a441404f92 Avoid recursion in the yy_find_shift_action() routine of the Lemon-generated
parser, so that routine can be inlined, for a size reduction and performance
increase.

FossilOrigin-Name: 0557a179f932296cc1fd5217f9a0d2f74e34ce1d
2015-11-09 15:06:26 +00:00
drh
3781f01780 Size reduction and performance improvement in the stack-popping logic of
the Lemon-generated parser.

FossilOrigin-Name: 9748c48a4fbd5c06208bbf80e7bfcb159ec026d9
2015-11-09 14:11:37 +00:00
drh
7450494c50 Fix incorrect WHERE clause in sqldiff, as reported on the mailing list
by Youcef Hilem.

FossilOrigin-Name: e0ed4c3e376248dfbf903e4b5845f910824fa6c6
2015-11-09 12:47:04 +00:00
drh
f10b1f78ee Check in the cg_anno.tcl and run-speed-test.sh scripts, as an historical
record.

FossilOrigin-Name: 836418d3b7cfcd5ec375c4e08c09bd6b78646307
2015-11-09 12:44:19 +00:00
drh
d797035ac7 Avoid unnecessary function prologues in the sqlite3VdbeAddOp3() routine.
FossilOrigin-Name: 7c6a19ba9b0bdb1cc0b9a9796b7c1c114944d927
2015-11-09 12:33:39 +00:00
drh
0739e45bcd Small size reduction and performance increase in the parser.
FossilOrigin-Name: d62cd757a69cc49c2d309e27c948610b5868632f
2015-11-09 02:08:09 +00:00
drh
edd2260b40 Enhance the sqldiff utility to deal gracefully with ALTER TABLE ADD COLUMN.
FossilOrigin-Name: 7ea036ac37397ed8f6a0fa9f5bfc0994364b53dc
2015-11-07 18:32:17 +00:00
dan
cc03305473 Fix a bug in CTE handling discovered by LibFuzzer that can cause an infinite loop in the query planner.
FossilOrigin-Name: 088009efdd56160bb4eee0fbd829a529b141274e
2015-11-07 18:07:15 +00:00
dan
fe88fbfc82 Add test cases for WITH clauses.
FossilOrigin-Name: e7e65c7559ed43e7065adc2ec1bd242bf187b7c3
2015-11-07 17:51:39 +00:00
drh
6e7722669e Proposed fix for an infinite loop bug in the WITH clause semantic analysis
logic.

FossilOrigin-Name: 028475cb17a4b50baf0e9aba9bd3403d0a5d03b0
2015-11-07 17:48:21 +00:00
drh
2476a6f2cb Enhance TreeView to show WITH clauses. Add an assert to detect the
infinite loop behavior when certain kinds of errors occur on a nested
WITH clause.

FossilOrigin-Name: 2040d88e877bdb69de125a047cefb4a1558e89e8
2015-11-07 15:19:59 +00:00
drh
d6b7946c32 The OPFLAG_SEEKEQ optimization is only applicable to equality comparisons
against an index, not against a rowid table.

FossilOrigin-Name: 0f5b147d1fe83c34d0fbeacc7422be94d8441bc1
2015-11-07 01:19:00 +00:00
drh
3901692ede Fix a harmless sanitizer warning in the ieee754 extension.
FossilOrigin-Name: dd9a26ecdeaef7b0b9cbf4ff70448ab13a276b4e
2015-11-07 00:51:15 +00:00
drh
3adf8783b0 Avoid an unnecessary key comparison when doing an indexed lookup against an
equality constraint.

FossilOrigin-Name: d741e1ccdce96e6142e294fbdd20a0282296dcea
2015-11-06 20:22:25 +00:00
drh
f83075201f Work around a sign-extension bug in the optimizer on the HP C compiler that
comes with HP/UX.

FossilOrigin-Name: 46c36b1543d7a8156eaa866c67080526153fb10d
2015-11-06 20:13:48 +00:00
drh
51675f24f3 Test changes: Omit numindex1.test from valgrind, since valgrind uses a
none-standard floating-point processor which gives inconsistent answers.
Run one releasetest.tcl module using LONGDOUBLE_TYPE=double.

FossilOrigin-Name: d421efbf9a5688f5a20b6dfe3aa216299c7b9c86
2015-11-06 20:04:08 +00:00
drh
c750ee999e Enforce consistent comparison results between integer and floating point
values.  Fix for ticket [38a97a87a6e4e83].

FossilOrigin-Name: 849e686da2d20fd7f938427475fc792384d2aa7c
2015-11-06 19:53:09 +00:00
drh
9ced20d892 Merge the fixes and tests for the ieee754 extension.
FossilOrigin-Name: 7a9988d38cd7ab3df79eed97631ff23d5928b4ad
2015-11-06 17:59:33 +00:00
drh
c8bb430dfe A proposed patch for working around a bug in the optimizer for the HP compiler
found on HP/UX Itanium.

FossilOrigin-Name: 8a171548e4f665f03d00af6dcb46669a4a78fad5
2015-11-06 17:28:00 +00:00
drh
ff621c6894 Test cases for the ieee754 extension.
FossilOrigin-Name: 840cbda88675b6012dae2423252bf42d0d563874
2015-11-06 17:01:20 +00:00
drh
2ab410aa1e A different approach to handling integer/float comparisons. This seems to
work better on systems where "long double" and "double" are the same type,
but still needs refinement and testing.

FossilOrigin-Name: a3f7614b2095fbc1eca54801b2da88f85f294ec5
2015-11-06 14:59:07 +00:00
dan
dbbda39453 Have fts5 load its configuration from the xConnect() method is invoked. This ensures that the very first query run uses the correct value of the 'rank' option.
FossilOrigin-Name: 33e6606f5e497e81119ec491cf2370f60bddafc0
2015-11-06 12:50:57 +00:00
drh
aa8ff2ff6a More test cases for indexes on large numeric values.
FossilOrigin-Name: c220741a62808c64d42c6161152ab06af74cb48c
2015-11-06 04:14:38 +00:00
drh
06d7b00b6a Some simple test cases from the mailing list.
FossilOrigin-Name: 1d642b73f9e93a1ba291bf265b3d17e46551d70e
2015-11-06 03:37:02 +00:00
drh
8b8446fc21 Increase the precision of integer vs. floating-point comparisons.
Candidate fix for ticket [38a97a87a6e4e8].

FossilOrigin-Name: cfcaa0ff276b1936418abe72c7e0c99d90d37885
2015-11-06 01:04:41 +00:00
drh
b1d607de25 Improvements and simplifications to the equality seek logic. Tests are
adjusted so that they all pass now.

FossilOrigin-Name: 997ce6c90b454c03cc2ef6934752ee8dd2e520e3
2015-11-05 22:30:54 +00:00
mistachkin
9030d0ac28 Fix typo in help information for an FTS5 script.
FossilOrigin-Name: 777ae8007f6ff303b120b25f2dc37d7ef6b6a4f8
2015-11-05 21:49:19 +00:00
drh
70528d7868 The top of an index equality loop normally starts with OP_SeekGE and OP_IdxGT.
This check-in adds a flag to OP_SeekGE such that it fails immediately if
the key is not equal, then jumps over the OP_IdxGT, saving a call to the key
comparison functions.  Consider this check-in a proof-of-concept.  It needs 
improvement before going on trunk.  Some tests fail, but only because they
new use fewer key comparisons than expected (which is a good thing!).

FossilOrigin-Name: 32e31b9bc8664afcd326a1ff3892d86dc5202474
2015-11-05 20:25:09 +00:00
dan
d82211db56 Add the 'hashsize' configuration option to fts5, for configuring the amount of memory allocated to the in-memory hash table while writing.
FossilOrigin-Name: 445480095e6877cce8220b1c095f334bbb04c1c3
2015-11-05 18:09:16 +00:00
drh
780b02de4a Remove a #pragma used to work around an issues with MSVC 2012 that has been
overcome but subsequent changes.

FossilOrigin-Name: 8303e4cfed715464c710668c2bdc58a8e3d4cd9f
2015-11-05 11:47:48 +00:00
mistachkin
63225522f9 Remove #pragma that was used to work around an obsolete issue with MSVC 2012.
FossilOrigin-Name: b9b22fae69000ca506656f9cf847e713c6304b75
2015-11-05 03:26:36 +00:00
drh
8dd1c25388 Performance improvements in the getAndInitPage() routine of btree.c.
FossilOrigin-Name: 2aa50f6f2029e3c91a4cb91224df8ec1194f215e
2015-11-04 22:31:02 +00:00
drh
9584f58cc2 Rename the sqlite3PagerAcquire() function to sqlite3PagerGet(). The former
macro called sqlite3PagerGet() has been removed.

FossilOrigin-Name: 708253be34084b89987efe955c34557516171a3a
2015-11-04 20:22:37 +00:00
drh
71258abf0d In releasetest.tcl, run larger test first if --jobs is greater than 1. Run
smaller tests cases first if --jobs is 1.

FossilOrigin-Name: 3fece5d02a8790701d8f0af18db4b4db33986369
2015-11-04 16:34:58 +00:00
drh
85979cd818 Exclude cffault.test and symlink.test from the (incompatible) inmemory_journal
permutation.

FossilOrigin-Name: 4f16e9686d827311d069ac5856771db23bd610ff
2015-11-04 13:03:36 +00:00
drh
25b0c4094f Increase the fuzzcheck timeout when running valgrind.
FossilOrigin-Name: a5816877bdc7fae69ed83d1fc95c29bf390eb641
2015-11-03 23:39:47 +00:00
mistachkin
e3b63599a3 In 'e_uri.test', make sure all created test database files get deleted.
FossilOrigin-Name: 40c4f4a65ef3ebda96e0de8bd791ce5ccb8d3ef5
2015-11-03 19:13:57 +00:00
drh
7f8a93d72c In the releasetest.tcl script, add the --progress option to cause the start
of each subprocess to be shown.  Otherwise, revert to the old-style display.
Improvements to the handling of the --buildonly option.

FossilOrigin-Name: d969792f34c484bd055c933b1c2c5a99eb88b61b
2015-11-03 15:39:29 +00:00
drh
4380ff8887 In the releasetest.tcl script, show the --jobs object on the command-line
summary.  Report the time of each "starting:" event.  Do not show errors
on a --dryrun.

FossilOrigin-Name: b75107778f67a4c4f33b1c003af87ca57e98ae4b
2015-11-03 15:16:21 +00:00
drh
b3ebc805ed Update the releasetest.tcl script so that it can run multiple tests in
parallel in separate processes.

FossilOrigin-Name: e3de82919d6f7ef5c2c5ab9a932a480604856950
2015-11-03 14:49:35 +00:00
mistachkin
7d3bfa2713 Further enhancement and a bit of cleanup.
FossilOrigin-Name: 0d8b59783e0a84bc59661b3469e1ca1b1fa90c71
2015-11-03 06:23:33 +00:00
mistachkin
98fea32c83 Use the native name for the MSVC makefile as well.
FossilOrigin-Name: e457c615647a5bacb32d7d1d9ddfcfb0c7d56e82
2015-11-03 02:47:11 +00:00
mistachkin
da9da5624a Attempt to centralize and simplify the MSVC handling.
FossilOrigin-Name: 4ae96d6dde7fc0a913d7719ec498686f9a1e3b98
2015-11-02 23:29:58 +00:00
drh
3e6d22ad4d Fix the backcompat.test module so that it does not try to compare against itself
on windows.

FossilOrigin-Name: f625bce8b7c2884a092c70675a9c6ce15c29937e
2015-11-02 23:21:17 +00:00
mistachkin
59189433ba Get things working better on Windows with MSVC.
FossilOrigin-Name: 22cc3e6c8e7f7eed854f8a50138ccb9c79bb7a23
2015-11-02 21:05:56 +00:00