dan
d55e8f5ff0
Merge documentation changes from branch "begin-concurrent" into this branch.
...
FossilOrigin-Name: 41e742bd0f94894b096b30474fb548f58951756d1ea47d0afb717a54802888f4
2019-01-11 15:22:27 +00:00
dan
77428e6055
Add new documentation file begin_concurrent.md.
...
FossilOrigin-Name: fdbf97e611ed23f86dc0df9d53421fb04226af0d1c7171d55c11acd0dbe935f0
2019-01-11 15:06:39 +00:00
dan
4853110e61
Merge latest wal2 changes (documentation only) into this branch.
...
FossilOrigin-Name: 820ba1cc7e374409f27d0f1e62ed17c9670ce0e1f6e1d39a02fa8d48319745e8
2019-01-11 14:59:24 +00:00
dan
f552a23740
Add new file doc/wal2.md to this branch.
...
FossilOrigin-Name: b495dce153f7f886f3dba09593f29ce2375718bf6508f2cfffd1af8071a995ae
2019-01-11 14:58:03 +00:00
dan
b93ce6d4a6
Reinstate assert() statements in os_unix.c that were removed to allow
...
wal-mode SHARED locks to be taken over more than one locking slot
(this branch no longer does that, so the assert() statements can go
back in).
FossilOrigin-Name: fcb7348ba190e48112a681f704313a733f7a377456e7c1d6845ba34c270d86b6
2019-01-02 17:08:06 +00:00
dan
3eeda95d36
Reinstate assert() statements in os_unix.c that were removed to allow wal-mode
...
SHARED locks to be taken over more than one locking slot (this branch no
longer does that, so the assert() statements can go back in).
FossilOrigin-Name: 8445fb6d5dae98a0129514a10a15f08412bac5a1d8114b12e592c744ea2bc4c9
2019-01-02 17:00:00 +00:00
dan
2cdce9c105
Merge latest wal2 changes into this branch.
...
FossilOrigin-Name: c31eeb3c87f260fa192638b3610a4d3b84b2c26cfaefc97ed63910495403f8c9
2019-01-02 16:30:10 +00:00
dan
1f3762607d
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: 87ef68f9174b5e21fa2fb4f2fa23e0ecd6a0ea854422c8aa74cd7306a1ed8427
2019-01-02 16:15:02 +00:00
dan
2da2a2698b
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: 5bf212f1a754fde90af0af82dd76f636754829c7372e19df1fd4fa579f0926aa
2019-01-02 16:08:14 +00:00
dan
ca076bf26e
Add another test case to vacuum-into.test.
...
FossilOrigin-Name: 0465d2fc0d3f8beaa1b6b0bd7bd51d69a524f30d889c9402e7d02cc06164a310
2019-01-02 16:01:59 +00:00
dan
992e927281
Add test cases for commit [6c6fb1c6].
...
FossilOrigin-Name: 3961995cb56b43f1753c53fc869edf336f1c17ec994d67dc74e44e8e02493894
2019-01-02 15:27:27 +00:00
drh
ee751fab4c
Raise an error if the argument to VACUUM INTO is an identifier.
...
FossilOrigin-Name: 6c6fb1c6ea452c70b56fd4ac796affebee21512adba0455ae81c291b715f544f
2019-01-02 14:34:46 +00:00
dan
9b0da8319c
Fix another fts5 problem caused by a corrupt database.
...
FossilOrigin-Name: 911342f7512145a8a189bb0ec59e70e4c9ddc9f20f3e84816ab25139ead5dc45
2019-01-01 19:17:42 +00:00
dan
97c8cb3ed8
Ensure that when a new cursor is opened by OP_OpenDup, any existing cursor
...
with the same id opened by a previous OP_OpenDup is closed first.
FossilOrigin-Name: 5c188361a91407805c0feb4bf6d3214522ce3e55013efcf63a4613ecd416bcbc
2019-01-01 18:00:17 +00:00
dan
fff1dc8e05
Fix another case in fts5 where a corrupt database could cause a buffer
...
overread.
FossilOrigin-Name: f7e6cdc5625664f449d0edbe39af2d45910c4137bfd856ae1f770dd826c138ff
2019-01-01 13:59:34 +00:00
drh
f9231c34eb
Fix harmless compiler warnings.
...
FossilOrigin-Name: b57c545a384ab5d62becf3164945b32b1e108b2fb4c8dbd939a1706c2079e18b
2018-12-31 21:43:55 +00:00
drh
f01dae1f32
Additional steps to help ensure that scalar subqueries are only evaluated
...
once even if they are used in multiple places within the query. This fixes
a performance regression reported on the mailing list and caused by
check-in [531eca6104e41e43] which was a fix for ticket
[787fa716be3a7f650c]. Think of this check-in as an improved fix for
that ticket.
FossilOrigin-Name: e130319317e761193890ef75787a3c114b61166f518df019697be8e2c820ec54
2018-12-31 20:39:37 +00:00
drh
d471bcb396
Remove an optimization that can no longer occur, being superceded by the
...
subquery-reuse optimization. Put an assert in place of the optimization
to detect if the need for this optimization ever returns.
FossilOrigin-Name: 4fcdc7a2939457e51aab37cab168677cd7f464a9a0aff4f8981e864a30828b3b
2018-12-31 20:13:12 +00:00
drh
0de6efe59e
Merge enhancements and bug fixes from trunk.
...
FossilOrigin-Name: 9fb646f29c05bca5f677a2c7c4f45c36bfe0a0c6a88cb7968b4a0459bdd63bb2
2018-12-31 18:30:41 +00:00
drh
d0fb7960ce
Small changes to the OP_OpenEphemeral opcode to improve testability.
...
FossilOrigin-Name: f856676c8438dbf52d299e78f6dd6148d929755dc05cdcabafd17d9a86439435
2018-12-31 17:58:05 +00:00
drh
4afdfa195b
Fix the OP_OpenEphemeral opcode in the bytecode engine so that if it is called
...
a second or subsequent time, it merely clears the existing table rather than
creating a new one. Proposed fix for ticket [d0866b26f83e9c55e30de0821f5d].
FossilOrigin-Name: 4678cb1044f0b4dc813e48f3bd0f85240a66e2ecf8763280d66726cc031c93a7
2018-12-31 16:36:42 +00:00
dan
d080e84c81
Merge latest begin-concurrent changes with this branch.
...
FossilOrigin-Name: 1625887c0240eb1cb37e41d79e789c4ff311352c5708e6a2d3ed1b223ff382e3
2018-12-29 20:47:45 +00:00
dan
ff9e9b27d5
Fix a problem causing a corrupt pager-cache if an OOM or IO error was
...
encountered while committing a concurrent transacation.
FossilOrigin-Name: 48ca30f9d7817d87a5e9a069fdc51b1a34e00585f8a35771895dd743c7bfe07c
2018-12-29 20:42:12 +00:00
dan
71fad44b38
Increase coverage provided by permutation "coverage-wal" on this branch.
...
FossilOrigin-Name: f664f940a7eb6938b1ee171143a691e2f497aec921f979be63ef844d38053f56
2018-12-29 16:34:22 +00:00
drh
d1d158bf5a
Additional small performance increase and size reduction to the
...
sqlite3VdbeMakeLabel() mechanism.
FossilOrigin-Name: 1bdee199a71e0a6c247b85e72de9e3a3099b7179c33288735721facef3b96459
2018-12-29 14:23:22 +00:00
drh
ec4ccdbcb1
A new implementation of sqlite3VdbeMakeLabel() is faster and makes fewer
...
memory allocations by deferring memory allocation until
sqlite3VdbeResolveLabel() is called, at which point the code generator has
a better idea of how big the relocation table needs to be.
The sqlite3VdbeMakeLabel() routine now takes a Parse* parameter instead of
Vdbe*.
FossilOrigin-Name: 4a0929ac76d8aa5dd65eac3b83d6bbf41e505e01d175ca0fb2b19ba02d439415
2018-12-29 02:26:59 +00:00
drh
01e92df41e
Merge performance enhancements from trunk.
...
FossilOrigin-Name: 0f1b9ff9e1e6f13e03045fcb7d0907227085054f9eb0b0b8471fb26b0094b13a
2018-12-28 21:32:35 +00:00
drh
81f9159b5e
Faster allocation of new sqlite3_stmt objects.
...
FossilOrigin-Name: 891f1f72187f0f9ec0d24fda98cc08be3ae3c3ff8b27c4e409ee7135c3106398
2018-12-28 20:48:07 +00:00
drh
b6991796b4
Move the nOpAlloc field from Parse into Vdbe to avoid an extra pointer
...
deference on the fast path in sqlite3VdbeAddOp3().
FossilOrigin-Name: 8f10efc29dea7b816b1ba401726c268950d6671d890f686911269082a241d8d9
2018-12-28 20:14:03 +00:00
drh
64919e9b00
Merge patches and enhancements from trunk.
...
FossilOrigin-Name: da53f3d3ff26cc32d3a5ac788b6785baa3d1688e50d9354025a3130dc7e71a38
2018-12-28 19:23:20 +00:00
dan
4177c8a2b7
Fix another problem with loading the structure record from a corrupt fts5
...
database.
FossilOrigin-Name: c4d44542d259bbec11aea60ae94fcb4acd53e97e125723cae078cf0f8873f8ef
2018-12-28 18:09:45 +00:00
dan
1d4b16405b
Fix a problem causing the sqlite_master entry corresponding to a virtual table
...
to be removed by a DROP TABLE even if the call to the vtabs xDestroy() method
failed.
FossilOrigin-Name: 0140f6dbfbea93eadcd7f727d84064a0c0d1f0806dbe3e5ef1017da603157e3b
2018-12-28 17:45:08 +00:00
dan
d445ed094a
Add new test file wal2rollback.test to this branch.
...
FossilOrigin-Name: 85a376fc6c77117b96814df800b3d68a441d69602ffc2eb8cd7dba29f25d69aa
2018-12-28 16:20:53 +00:00
dan
eefc72d12f
Avoid an undefined left-shift operation in fts5 caused by malformed utf-8
...
text.
FossilOrigin-Name: c3a3a11194586bef80a9d7ca54caae8af30d4e7b464b8bb3d257ba2d2ec4791f
2018-12-28 14:33:55 +00:00
dan
666636b6de
Fix a buffer overwrite in fts5 triggered by a corrupt database.
...
FossilOrigin-Name: a385298df264dbfa6765f63ad8708f74bc8e8a1404239c1049890b39a1bda888
2018-12-28 13:57:30 +00:00
dan
b163b57212
Fix problems in fts5 found by ASAN.
...
FossilOrigin-Name: c564bf870106faef297594a51995619c80311d06bd5f8a0c7644f666f22ba576
2018-12-28 07:37:22 +00:00
dan
593c716781
Fix another problem with corrupt database handling in fts5.
...
FossilOrigin-Name: fb0d7fba07865ff557bfcdacfda7b625d099ac8b4dcbe0c08cd2d4b84a068bb9
2018-12-27 20:12:02 +00:00
dan
30db882a87
Merge latest wal2 changes with this branch.
...
FossilOrigin-Name: ea96001e801fbf228d1fb63b9d3c73fd9da54994d3cfe383ea76edfa6da83b8d
2018-12-27 17:11:59 +00:00
drh
aa243aa7cd
Modify the btree02.test module so that it does not depend on whether TCL
...
interprets a value as a string or as an integer.
FossilOrigin-Name: d9e4f9574659c6285deba3dca68eca9989e615971cea3a901ffcda12fb4ee36f
2018-12-27 16:55:01 +00:00
dan
ce909d1aae
Increase test coverage of wal.c provided by permutation "coverage-wal" on this
...
branch.
FossilOrigin-Name: 2f7f893a702728745445f6ef5f914c1157058a8fbdfd1a58cfb8906e5566729d
2018-12-27 16:49:33 +00:00
dan
e80834f6ff
Fix another problem in fts5 caused by a corrupt schema record.
...
FossilOrigin-Name: ff45f9dd69fe1e1c7875e5bb73ac3dde2a31746475d3765cda9233f8e06e26ca
2018-12-27 15:36:16 +00:00
drh
57e141bc28
Fix the filename normalization in the dbtotxt utility program.
...
FossilOrigin-Name: 29a00a05dd40ff59be340969e1aca4fee41e092f2faa1cea85a3448265a83c2c
2018-12-27 13:52:45 +00:00
dan
cd80dc3667
Fix a null-pointer dereference that could occur in fts5 with a corrupt
...
database.
FossilOrigin-Name: b0a49d5e6df116bb5eacb60a0bb0f482760aec38bd417d4250d9e57d43bdbb13
2018-12-27 07:46:37 +00:00
drh
bdefaf08ee
Fix a problem in which nested CTEs with the same table name trick the
...
code generator into thinking they are the same CTE, which then tries to
use the manifest them both into the same transient table.
FossilOrigin-Name: 202dd033019dd27428e3cc5f6e164c95b37efe39e2753515112b201ddefca67b
2018-12-27 02:16:01 +00:00
drh
7eb2c9176a
In the treeview debugging output,
...
provide additional details for the Table object
associated with each FROM clause term.
FossilOrigin-Name: 11d4682d2eec133ccca99ca9cf2620cd249b4afe55918f3ebf93b454431f9c55
2018-12-27 00:30:42 +00:00
dan
0f297b6e50
Improve testing of the wal.c changes on this branch.
...
FossilOrigin-Name: 63483e22c775183e01924b5cb3d0f3655b63c3cdd06faf26cacd4d0913c0055c
2018-12-26 20:42:32 +00:00
dan
2d111c8bbb
Merge latest trunk changes with this branch.
...
FossilOrigin-Name: 404f9d99d325ddf82fde6d957860d30b2fb67f232c0878a3cf6df9596541f16e
2018-12-26 19:10:59 +00:00
dan
f6febee0e2
Update the coverage-wal permutation to cover branches enabled by
...
SQLITE_ENABLE_SNAPSHOT.
FossilOrigin-Name: 6821c61f1d71be2be7f867e59fd94582a1eaf45a4d1fb88be995807a77cc22ea
2018-12-26 18:34:56 +00:00
dan
89dec01e48
Add a few more test cases to walvfs.test.
...
FossilOrigin-Name: 14a64df36efe0dc36795311d58385f9c65dc465b214059e07c2ee6b95ea99c87
2018-12-26 17:49:57 +00:00
dan
0f55a571fc
Avoid an "unitialized value read" problem in fts5 that can occur with a
...
corrupt database.
FossilOrigin-Name: 6cae81cd1ffb0180e0260d5ba921502c7dee2f54637bff3558a4d1cb5dfd3f32
2018-12-26 16:57:47 +00:00
dan
c2909bf8ac
Fix a problem with handling corrupt databases in the fts5 integrity-check
...
function.
FossilOrigin-Name: 9bad745d373f4686a2726c3f77a2ccad60e7181645d7ed483a2e43075a4ef30c
2018-12-26 16:04:54 +00:00
dan
d8f3b4c320
Fix a problem with corrupt fts3 database detection introduced by [95a9a39f].
...
FossilOrigin-Name: c80bb15b44e9b6a3c0c5a49d5e93e66376c3520ecefc1db7425c8a7e09d3eade
2018-12-26 14:15:09 +00:00
drh
8625221444
Fix a problem with the CSV extension when it uses the "header" option on
...
a real file.
FossilOrigin-Name: 7acaed08f946633fca3ab8434dd6349ea6f1bac4fd9ec21f476db013ee06de30
2018-12-26 12:50:47 +00:00
drh
e4c26c41b4
Fix a typo in a comment that is used to generate session documentation.
...
FossilOrigin-Name: a1f50d57ce76f6c08a0ddbdd3c3fe2732d0e57dda14cb9aa3da00a14ceb4bc44
2018-12-25 11:17:50 +00:00
drh
47df8a2c40
Increase the number of parameters to sqlite3WhereCodeOneLoopStart() to
...
encourage the compiler to inline that routine within sqlite3WhereBegin().
This gives a performance improvement.
FossilOrigin-Name: 3c2ad0e915e835b1cb2962879beff50b2745d0cefe1cfc89ef90b7879c139ce6
2018-12-25 00:15:37 +00:00
drh
bd462bcc10
Improvements to EXPLAIN QUERY PLAN formatting. The MULTI-INDEX OR now shows
...
a separate "INDEX" subtree for each index. SCALAR SUBQUERY entries provide
a subquery number that is related back to the .selecttrace output.
FossilOrigin-Name: 7153552bac51295c56a1c42ca79d57195851e232509f9e9610375692f48c7e86
2018-12-24 20:21:06 +00:00
dan
92107a38dc
Add a few more test cases to walfault2.test and walvfs.test.
...
FossilOrigin-Name: 3873941c4fb9aa2d0de1129722c5fcdf2be1ea261677d4841ed99f896c778459
2018-12-24 20:00:27 +00:00
dan
1ab76166e3
Change another fts5 assert() that may fail with a corrupt database to an
...
assert_nc().
FossilOrigin-Name: d9653380c455b4bf6c371540d677cbde6d17664c58662b5cc9a12929f46192dd
2018-12-24 19:59:37 +00:00
dan
76e4990b25
Add test cases to test file walvfs.test.
...
FossilOrigin-Name: d697f6f3ca47350dad30feb529914fc5254fa662ece783408eea963d912918c1
2018-12-24 18:51:13 +00:00
drh
c310c53e01
Always include OP_Explain opcodes in the bytecode when SQLITE_DEBUG is enabled.
...
FossilOrigin-Name: d8c1235c02b745138ac2b12e8bbb00dda4cac321176be92a2fa9547be029b3d0
2018-12-24 18:10:39 +00:00
dan
94e95ea46e
Copy some extra test infrastructure from the mutexfree-shmlock branch to trunk.
...
FossilOrigin-Name: 883337ffdb434b6856ceaada121c0be67e2fdec7b447675f45e85568ef28d7d9
2018-12-24 15:22:47 +00:00
drh
a599e150ca
Restore a line of code that was previously commented out for debugging.
...
FossilOrigin-Name: e53781f5bdf5c7b7d91ffe76565ea2fe5d1b3a9b162b3a88a7017bbe785d4c72
2018-12-24 14:30:11 +00:00
dan
29e9af8848
Change the way a comparison used to detect corrupt databases in fts3 is done
...
to avoid potential pointer overflow in 32-bit builds.
FossilOrigin-Name: 95a9a39ff784b960b62dd6298e722a620ba3f9c8b76839a49bbef35d7bc84a8e
2018-12-24 13:34:36 +00:00
drh
5198ff5767
Do not generate subroutines for non-static SELECT and EXISTS expressions.
...
Fix up some test cases to account for the minor changes in EXPLAIN QUERY PLAN
output.
FossilOrigin-Name: 06de44ec9e173992ca9afb89dd2b4e40d2a7e35512c7959603cdceb606f5dfbd
2018-12-24 12:09:47 +00:00
drh
efb699fc7c
Prevent the use of subroutines to implement the RHS of IN operators within
...
CHECK constraints.
FossilOrigin-Name: 6b24d3fb94e787d25e49501714780dfb0c0c99077102056aa68445f4808cdd57
2018-12-24 11:55:44 +00:00
drh
2c04131ca7
Experimental code that tries to put the computation of subqueries inside a
...
subroutine, and reuse that subroutine if the same subquery is evaluated more
than once. Current code does not work for CHECK constraints.
FossilOrigin-Name: 6c44838adbe5dc482bc010e91a6dd7a0f777c989f443dd600740d2c783208e0d
2018-12-24 02:34:49 +00:00
drh
85bcdce270
Split the code generation for the RHS of IN operators and for SELECT and
...
EXISTS expressions into two separate subroutines, because there is now little
commonality between those to functions. This is intended to help make the
code easier to read and maintain.
FossilOrigin-Name: 2b6494b1509f0d0189f98aa34c990eee99c775ff57826e79b2c5b0a12b4c97ad
2018-12-23 21:27:29 +00:00
dan
8d69a58119
Improve the coverage of wal.c provided by the "coverage-wal" test permutation.
...
FossilOrigin-Name: 6231485114eb07b258cd0e6e163ca05f7e9cf5664e071808fcb1329b33e4c4f5
2018-12-22 20:32:28 +00:00
dan
6a509d56bc
Catch another case of a corrupted structure record in fts5.
...
FossilOrigin-Name: fb17fea4b9779fbd3adb6ff9500da83a6ca4fa7cba379aa70074e4328814a7f2
2018-12-22 19:54:17 +00:00
dan
862faf28bb
Change a faulty assert() in fts5 that could fail on a corrupt db to an if() statement.
...
FossilOrigin-Name: 1daaba9fb46706af8ed0669a661c304df999a69cf639d29d93208f422c515d8c
2018-12-22 19:09:46 +00:00
drh
11d07ed643
Fix one more instance of excess whitespace in test result strings.
...
FossilOrigin-Name: c064964deb0b7220ba784f07ca9c603680f3c8bb936d56ab4eca1962beac1359
2018-12-22 16:14:45 +00:00
dan
665f3d209b
Enhance the wal2 header comment in wal.c to explain how the wal-hook is
...
invoked in wal2 mode.
FossilOrigin-Name: 118aa7e32a94ad971a955ab60db5bfc5b6241f93734a41ba83ab72ea71bc9aaa
2018-12-22 15:50:00 +00:00
drh
3a07548b0d
Remove unnecessary whitespace from testcase result strings.
...
FossilOrigin-Name: ad70f03ceda74163903d247a975666b35fae722a27c48dd3efd31c1164b5627e
2018-12-22 15:46:23 +00:00
dan
b63d6070ee
Fix an assert() in fts5 that could fail with a corrupt database.
...
FossilOrigin-Name: 83935b950619855fb3bf05486091804ac2a61fb993c6ec826c89f943264fabc3
2018-12-22 15:21:31 +00:00
dan
634ac14488
Fix a "jump or move depends on uninitialized value" valgrind error that could
...
occur in fts5 when dealing with a corrupt database.
FossilOrigin-Name: 3518c09b944c92974939b1de244401afd34de5d9aa75050e5ad55581a94e1e71
2018-12-22 13:34:52 +00:00
dan
fb11bf8c91
Avoid a left-shift of a negative value (undefined behaviour) when dealing with a corrupt database in
...
fts3.
FossilOrigin-Name: b851d12474035328df8354c7da8d81bc78833c8c704153f9f573c19b47a8487e
2018-12-22 09:39:06 +00:00
dan
583521fbb0
Fix cut-and-paste error in test file fts4umlaut.test.
...
FossilOrigin-Name: cad5da1bf5f65ad87d97b72e9a84081fde455ba4085e79943fdf6c0144b1ef83
2018-12-22 07:16:42 +00:00
drh
9bfb079409
Do not all REPLACE to sneak a NULL value into a NOT NULL column. Detect that
...
situation and ABORT instead. Fix for ticket [e6f1f2e34dceeb1ed61531c7e98].
FossilOrigin-Name: db8d1d12f5c1673404b2afb5426d5ea3afe3b69d01f8f2bc47ffdf70684fdf24
2018-12-22 01:13:25 +00:00
drh
a42325e731
The OP_Eq and OP_Ne operators have a special P5 value SQLITE_NOTNULL that
...
asserts that the values are not null. Except that is not always true for
a corrupt database. Adjust the assert() and add a testcase() to make this
point clear.
FossilOrigin-Name: a3fdb2c78d23b94d68dc08126b22d03152ac6068496a42402cdfb336cd4a7e33
2018-12-22 00:34:30 +00:00
drh
a86c8ce940
Update the dbtotxt utility program so that it does not output characters that
...
are special to TCL, thus making the output of dbtotxt easier to insert into
test scripts.
FossilOrigin-Name: 48438bb35b48955a1df83ef90f0ef6c9cfed0b16d2e938f36d74ad9d53b4b5b4
2018-12-21 22:11:37 +00:00
drh
cde4bf8ba7
Improved detection of shadow table corruption in RTREE.
...
FossilOrigin-Name: b39bf4356e6bcf1d8442721d6cbbfe06caba01325104fb469da8fe69e1f623a2
2018-12-21 22:08:59 +00:00
dan
6ba81ef1bf
Add new sqlite3_prepare_v3() flag SQLITE_PREPARE_NO_VTAB, for
...
preparing statements that are not allowed to use any virtual tables.
Use this to prevent circular references in triggers on virtual table
shadow tables from causing resource leaks.
FossilOrigin-Name: da587d18575ac06a6b65fec1d106f0cc65bc10f493ca6c6b99117a2162d15a52
2018-12-21 20:18:06 +00:00
dan
deb201b866
Use SQLITE_PREPARE_NO_VTAB in rtree as well.
...
FossilOrigin-Name: 82a2ae7132964eab0dfad9a8314a399ffd3b72366b35e1767df6452125dd1d80
2018-12-21 19:55:20 +00:00
dan
38e3853240
Add tests for the use of SQLITE_PREPARE_NO_VTAB in fts5.
...
FossilOrigin-Name: 1999612010e310fc2430d1f00076f69fade0c66d202771dbb0f3d5597ac0a03c
2018-12-21 19:30:18 +00:00
dan
1ea0443c2d
Add new sqlite3_prepare_v3() flag SQLITE_PREPARE_NO_VTAB, for preparing
...
statements that are not allowed to use any virtual tables. Use this to prevent
circular references in triggers on virtual table shadow tables from causing
resource leaks.
FossilOrigin-Name: 25666e3d03950caf753295cdb55df162e07dbcf6840b05875c6e0b127c469ecb
2018-12-21 19:29:11 +00:00
drh
afdc9e23fc
In FTS3, avoid calling memcpy() with a NULL source pointer, even if the
...
transfer amount is zero bytes.
FossilOrigin-Name: 1abb83d29a06308c96bea379311b390240347c5f81824749348d18ad75840c96
2018-12-21 18:51:27 +00:00
drh
8bcc686614
The fts4umlaut.test module requires FTS5, so do not try to run it without that
...
module.
FossilOrigin-Name: dee3ae900129d39d69aff3ec6187376be100803ee6170bbf39529f37b4253260
2018-12-21 18:50:43 +00:00
drh
687e20079c
Fix the node hash function in RTREE to ensure that it always returns a
...
non-negative value.
FossilOrigin-Name: 0bf4c70a6849da74797e8616a4f3730492ad02882ae67a0fe0f3b3cc3f1043b4
2018-12-21 18:17:35 +00:00
drh
273e01b4c6
Fix a potential NULL-pointer deference in RTREE due to corrupt shadow tables.
...
FossilOrigin-Name: 1fdd3604eef880414682e9e6f74d714520fe1c63f267ec4da752d2dc1da6bf72
2018-12-21 17:51:30 +00:00
drh
fb077f3c50
Prevent an infinite loop in rtree that can result from a corrupt shadow table.
...
FossilOrigin-Name: 085667180b230587abb82abfdd14da8859e23620994d5cf152236b64c756dd04
2018-12-21 16:53:58 +00:00
drh
1429eca9d4
Fix the RTree extension so that it correctly ignores constraints that it
...
does not understand, even if they are against a dimension column.
FossilOrigin-Name: ed8531e57596f0d5911a05a26d5ae61e1eccfaadee49219d7f6e212cac288238
2018-12-21 15:13:49 +00:00
drh
558ef11ad9
In RTREE, turn an assert() into an if() because the condition can
...
sometimes be false when dealing with a corrupt database.
FossilOrigin-Name: 99bce4358beb5dbaba47048ee2eec5c376dcd86e5b1462238a37ea4c5f3d77db
2018-12-21 13:30:34 +00:00
dan
e1e28ec35c
Remove an assert() that could fail on a corrupt db from fts3_write.c.
...
FossilOrigin-Name: 4cdcda408a4edcd2845584ddef64f0efdd2b4cc030afbc05fc2b8b555c69d3f6
2018-12-21 11:53:43 +00:00
drh
94f4f873b2
Do not set the Cursor.seekOp test variable in the OP_NotExists opcode.
...
This is a change to test logic only and does not affect deliverable builds.
FossilOrigin-Name: 98f343077887c4d3fc2ca3bbc7f20c80ec37b0e521d70af9c986ab80bb2c7903
2018-12-20 22:08:32 +00:00
dan
e46201e264
Fix a bug in the code that detects self-referencing rows as part of foreign
...
key processing. Fix for [50d2a6c2].
FossilOrigin-Name: 16fff05347f42fe9fa0f3150290b98b59a9bb921e49dc07ca397aa1de7a7e17d
2018-12-20 17:32:33 +00:00
dan
16dd3985f0
Fix a segfault caused by using the RAISE function incorrectly (library now
...
returns an error instead of crashing).
FossilOrigin-Name: ddf06db702761d663119d508afe21d7dfebe963d576bb42fc2f2024205ab86f8
2018-12-20 15:04:38 +00:00
dan
397a78d4a1
In defensive mode, do not allow shadow tables to be renamed using ALTER TABLE.
...
FossilOrigin-Name: 23e200da5cfbde0798e67cd9e016e4a1cd73b67981e1af841493fcd123d8f547
2018-12-18 20:31:14 +00:00
dan
e7f92d27ad
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: b3a163b46cad19a2e6a90cdd5b4c2e94d66e80b7ad2a0c9857580fe74748a604
2018-12-18 17:32:08 +00:00
dan
b031157128
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: 123cbb3312917ad5b3c32556547c5b7e8ba4e2d2def8651ff80f9fc1bdc1875c
2018-12-18 17:20:01 +00:00
dan
8b832e24d4
Add the ".integrity_check" command to tserver.
...
FossilOrigin-Name: fa46fa3bfcd4b6d1d219db4179ce69d0edb0786a521acaa034fdb74b312274ff
2018-12-18 16:24:21 +00:00
mistachkin
99490934ae
Move variable declaration to address compilation issue (C89).
...
FossilOrigin-Name: d64f248da3ce7762fe2c17fbc83f7bea9ffca73723bb3ad0982a85320839da90
2018-12-17 22:19:57 +00:00
dan
8348abc3a2
Add wal2 related tests to this branch.
...
FossilOrigin-Name: 5645822039b9f36aeb986645106cac2d95b09964689deb767cadaa6ea1d1867f
2018-12-17 18:26:48 +00:00
dan
1ac9aaf3fc
Merge changes from wal2 branch.
...
FossilOrigin-Name: 85f49f0d7344611ac4157421273660c648f73ca62afa4faa8707475f21c67f7a
2018-12-17 15:22:44 +00:00
dan
c5140b39ce
Add extra test case to wal2recover.test.
...
FossilOrigin-Name: 1a5aa73435b11fff0567672dc921d34aad57adf0381ad430e1389f39a6f025b7
2018-12-17 15:22:24 +00:00
dan
6d537ca2d8
Merge latest wal2 changes into this branch.
...
FossilOrigin-Name: 06bb80eeb84f57b1e8109a35f5b14992a2e23f2bf5a8921fa29087f96cb44d10
2018-12-15 20:59:14 +00:00
dan
93543215e0
Further test cases for wal2 mode.
...
FossilOrigin-Name: 9cb5f8dab685f5ea36ad142cfa588dee82e87f3a89e8dcf84e0ee124bb29bc7f
2018-12-15 20:20:13 +00:00
dan
bef06d2637
Fix errors in comments in fts5.h.
...
FossilOrigin-Name: 4002790d9418289f3e090c694f651a89d8f523119c8ce2f396999b0387148241
2018-12-15 07:12:34 +00:00
dan
e698c1f79e
Add further tests for wal2 mode.
...
FossilOrigin-Name: 54e628f902a5508badc8941ceda1bec12fe8f58969c91c670a37888ef2681880
2018-12-14 19:53:39 +00:00
drh
3c2db5def6
Fix harmless compiler warnings.
...
FossilOrigin-Name: 27221c69901d2b4546167639c4a3c8f54b2e18820f1346870fa26b7c919027db
2018-12-14 18:11:02 +00:00
drh
ae10474125
Fix possible integer overflow while running PRAGMA integrity_check on a
...
database file with a badly corrupted freelist.
FossilOrigin-Name: 395599116d801324f0763e59bc5e2fc8622aa5b7572e0c1c9a982efbb3cc8280
2018-12-14 17:57:01 +00:00
drh
d7a5e49840
Back out the expansion of the temporary buffer size from
...
[32754ca6f86da816] and replace it with an explicit test for buffer
overreads.
FossilOrigin-Name: 8ba3d9f38090c4bbbcffba1930e5c26f69ff61f49b72a4a5a59253d37341380f
2018-12-14 16:20:54 +00:00
drh
e7acce66b2
Avoid a buffer overread in ptrmapPutOvflPtr() that can occurs in a
...
corrupt database file that has large entries and uses autovacuum.
FossilOrigin-Name: f8b781cf41800e9f61a1c5376404a97e76a2bbbcaa17396d42be62f731363947
2018-12-14 16:00:38 +00:00
drh
fa94d492c8
Fix a harmless compiler warning in Sessions.
...
FossilOrigin-Name: fc9791ea987352e3e1322fbb7f833c23b402432af8249f9d397c6f7456788637
2018-12-14 13:47:17 +00:00
drh
d6401e869b
Expand the size of the temporary page used during btree rebalancing by a
...
few bytes, to avoid problems with small buffer overreads that can occur
on corrupted database files.
FossilOrigin-Name: 32754ca6f86da8165e274f98f35fc3df3aebd273e9da08387e2d0c3c89abda0f
2018-12-14 13:35:48 +00:00
dan
fffaf23013
When saving the position of a cursor at the b-tree layer, allocate a few extra
...
bytes at the end of the buffer used to save the key. Otherwise, if the key is
corrupt, the code that restores the cursor position may overread the buffer by a
little.
FossilOrigin-Name: 160b1e31c0f27257c06c2987af9ec3a64abfacb2150325b72e8ccd3d217b5baa
2018-12-14 13:18:35 +00:00
drh
5a1ce4369f
Fix a problem with bytecode generation when a query involves two or more
...
indexes on expressions connected by OR.
Ticket [d96eba87698a428c1ddd0790ea04]
FossilOrigin-Name: 7e4ed8b5c2047b69bbb037497111e56e465a4d9f8afca3b337f9ac744471dc4a
2018-12-14 11:16:52 +00:00
dan
7525b87b6c
Posible fix for [d96eba87].
...
FossilOrigin-Name: 89a25abfcd069aebdf817890e5c27f46de3000fb858ae01029e4528f9d677567
2018-12-14 08:40:11 +00:00
drh
d8cc8b30b4
Fix a bug in fuzzcheck that cause it to overlook a pointer-map bug that was
...
trigger by the fuzzcheck test data, and also fix the pointer-map bug.
FossilOrigin-Name: cc42dd15100db28a9796254f69a4e367ea5eae29f546be055017cf3e12aa66ba
2018-12-14 03:16:17 +00:00
drh
203b1ea0f5
Detect when an attempt is made to write to a pointer map page that is also
...
being used as a btree page and report corruption.
FossilOrigin-Name: 3036fd71ac7063359b04a0ed54a6c63a380eb7ff75cd29ed27486d4259066aee
2018-12-14 03:14:18 +00:00
drh
e45985b595
Fix a bug in the custom in-memory VFS used by fuzzcheck. This bug masks
...
other bugs that should have caused some existing fuzzdata7.db entries to
fail, and so this fix is initially on a branch until those other bugs can
be repaired.
FossilOrigin-Name: e0994e99955cf11f23dba029b5ed7f150f467887558848d5f03510e2fb5855f9
2018-12-14 02:29:56 +00:00
drh
f354e77f3d
Fix the dbtotxt decoder in the CLI so that it ignores excess bytes.
...
FossilOrigin-Name: 18740bd448887d618fafee0b5a7c004aa2f2632244f7d29e2428772baa36b828
2018-12-13 22:58:52 +00:00
drh
6301c43f23
dbfuzz2 found a NEVER() that is sometimes true.
...
FossilOrigin-Name: 1201615cbbd3070158ea5fab3d2c8c95f41b25d6da096a44cb9257a7b7405efc
2018-12-13 21:52:18 +00:00
drh
8061ad8abd
Add extra tests for database corruption inside the defragmentPage() routine,
...
as dbfuzz2 has found ways for corruption to leak into that point. Add test
cases in fuzzdata7.db.
FossilOrigin-Name: 997b65117f8c12dba5fb85434fde9765cdb0d2a49cc3e31979abba3e21350086
2018-12-13 21:11:22 +00:00
drh
1641f11f4c
Fix a problem in sqlite3BtreeDelete() in which deleting an entry from a
...
corrupt database can leave a btree page with zero cells.
FossilOrigin-Name: 682053d1e603c21b8085c39db618a39b23ec8d2c4d822fd19634db0e03038ea2
2018-12-13 21:05:45 +00:00
drh
f7e74904cc
Add the "decode_hexdb" TCL command to testfixture. Add the dbfuzz001.test
...
module to demonstration how to use decode_hexdb to deserialize a dbtotxt
database description for use in a corruption test.
FossilOrigin-Name: 1f583c53f3b7318c69f6e235934d97ef9493278feeab0837217076d7d071c35b
2018-12-13 20:49:43 +00:00
drh
2c8ee026ba
Fix the CLI to keep proper track of input line numbers for use in error
...
messages, even after processing in-line hex database inputs using
".open --hexdb".
FossilOrigin-Name: 7ffa9858162774cba03a565a7b65135d9e8bfea726af1a29de6898f66c4b1261
2018-12-13 18:59:30 +00:00
drh
60379d4243
Fix the CLI so that the ".open --hexdb" command works even if it is contained
...
in a subscript that is read using ".read".
FossilOrigin-Name: 67a87399b8ad8f1ce3052ee3159906f5c6df3d7b5691b3acac856bd2f1c82088
2018-12-13 18:30:01 +00:00
dan
597bf19266
Add tests cases for recovery in wal2 mode.
...
FossilOrigin-Name: 34f56f8a4239781071edf6317723d0a7333249551c2c1ce7ed39fc116d53d780
2018-12-13 16:26:43 +00:00
drh
51caa04836
Merge the dbtotxt enhancement from trunk.
...
FossilOrigin-Name: b386fce9a23e628dce7362dcca2904b8d0af6da58a6fe6eb7f12f058a8363e49
2018-12-13 15:52:31 +00:00
drh
3374648545
Add the "dbtotxt" utility program and the ability to read "dbtotxt" output
...
as a deserialized input database in the CLI, using the --hexdb option to
the ".open" command.
FossilOrigin-Name: e3bf1d3ea5f748c5142c2403813fdace5aedc1fc68f0dcd5eae40a2fe763fedb
2018-12-13 15:06:26 +00:00
drh
69a66a7be1
Include OPTS in the build of dbfuzz2.
...
FossilOrigin-Name: eac9c0c49650b008951318a2225b932709a0a8dffbb01ed57684c40357b2e25c
2018-12-13 12:37:13 +00:00
drh
bc1be957c1
Fix the Makefile so that it honors CFLAGS when building sessionfuzz.
...
FossilOrigin-Name: 54231ac4ca506e6c34c31bc02bb8d3db22f14e1b01679bc70529b165d7dabb83
2018-12-13 12:28:01 +00:00
drh
5881dfea2c
New database corruption test cases discovered by dbfuzz2. The new cases
...
have been added to test/fuzzdata7.db, but have not yet all been fixed,
so tests will not currently pass.
FossilOrigin-Name: b4210d320c6426d2838d4cc08709fdfd015c1c95fcad9a5f9e8fd390c23b9fad
2018-12-13 03:36:13 +00:00
drh
cb0e04f929
Fix another problem found by Matthew Denton's new fuzzer.
...
FossilOrigin-Name: 2b690dbdffe144bd69ca0aa291c230faf3d9d73f7a2985d50f016fe54003f9a9
2018-12-12 21:34:17 +00:00
dan
eeb778d506
Add new test file wal2big.test.
...
FossilOrigin-Name: e3e50bcdab8c91e003942d84430b3e580e034141236d19dda0e8af4ecf0e085b
2018-12-12 20:39:38 +00:00
drh
89b6de0357
Remove an ALWAYS() from a branch that is not always taken. The test case
...
found by OSSFuzz has been added to TH3.
FossilOrigin-Name: 5c7dab85535ac42c021977dbd4a39cef5a72e3d9dccff1c5ca5570a1780516cd
2018-12-12 20:11:23 +00:00
dan
2c4328ed87
Add tests to ensure that each of the 4 wal read-locks does what it is supposed to.
...
FossilOrigin-Name: 4d5779f31d4931edb8bb8952d8886625ead5e51f0c308e5763e519427f6609e1
2018-12-12 19:04:19 +00:00
drh
03c5c21328
OSSFuzz found a case where an assert() inside sqlite3ExprCompare() can be
...
true. Test case added to TH3.
FossilOrigin-Name: 23b62fb160d86dc9d9073bcc714601f5b7695f96abd893eafecf4b2e565b87f2
2018-12-12 11:23:40 +00:00
dan
f17e510ee5
Change the way wal2 locks work to ensure a reader only ever has to lock a
...
single slot.
FossilOrigin-Name: 18b2c23ac53d985ccc5798ea2d92fb75644b857c373fb490e0d04d5d0194a3d5
2018-12-11 17:56:23 +00:00
dan
ca72570a11
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: d8dd98a39ea061dea264a7d81153f7b1be2f81b554b30d0ce289897c802209bd
2018-12-11 13:44:59 +00:00
drh
cfc078318c
Small performance improvement in sqlite3_step().
...
FossilOrigin-Name: d1db8d5894450b24bb0335983503d9bbf6cc48a0ae4b83291283fb2d32b6b25b
2018-12-11 12:51:46 +00:00
drh
368bfe8b00
Small performance improvement in the sqlite3_bind() family of interfaces.
...
FossilOrigin-Name: 1dc0c3df32572f09265fc73eeaa0748159e0e9523b9b2d6768b834a29c909968
2018-12-11 12:20:41 +00:00
drh
1a6c2b1d38
Further refinements to the sqlite3_normalized_sql() interface. TH3 now
...
gives 100% MC/DC on that interface.
FossilOrigin-Name: c96bf6cca220e363b099455ce35195ce7e89d374a52dc787f56e7b11e587bced
2018-12-10 20:01:40 +00:00
drh
21b9225ff5
Refactor the sqlite3_normalized_sql() implementation.
...
FossilOrigin-Name: 06e955e5d2b857b9ce94a73fb174b620c101bdb160842f9a0e958bdb48e8c987
2018-12-10 18:15:44 +00:00
drh
9042ff214b
Fix issues with the new normalizer.
...
FossilOrigin-Name: 057d7d40c56b7416a59a79cb627b2b3e5837eca2d6dbcb50127baaadf1941f51
2018-12-10 16:49:33 +00:00
drh
643d855da9
Refactor the sqlite3_normalized_sql() implementation. This is a
...
work-in-progress. There are still issues.
FossilOrigin-Name: a4c890b0af9786295e6df05022009d8946550adb873535c610be805c2b7a4083
2018-12-10 16:00:57 +00:00
dan
dc6214ee39
Fix a problem with using "<db>-vacuum" (the default) as the state database
...
when resuming an RBU vacuum.
FossilOrigin-Name: c878d741733a897d47a1a0b57b454bc9095ce302b48cc01089336d5d20e2a24c
2018-12-10 08:41:32 +00:00
drh
fb34559eb1
Add support for the VACUUM INTO command.
...
FossilOrigin-Name: 77f150b8b46761f4f62f9d8926c10a95a70589a4525393fc16b321bd98c083a7
2018-12-10 01:48:29 +00:00
drh
4d342827d6
Fix the shell1.test test for the new format of the .backup command.
...
FossilOrigin-Name: 9748d7995bc1dd632d66d2d326048d50e29c6f5e6993d5a6294d14421d2cb72f
2018-12-10 00:41:28 +00:00
drh
2134eb5721
Merge fixes from trunk.
...
FossilOrigin-Name: ab1e58fac9e3f9d7d90cefb39f8f145d211d38ec0cb393208c4531cc646056c1
2018-12-10 00:40:43 +00:00
drh
ce706c2cf3
New test case for ticket [1d958d90596593a77420e59].
...
FossilOrigin-Name: b7bf3c9832bde26b359f4d58ebcf7788c500586d311387d022192ed65a126252
2018-12-09 18:55:05 +00:00
drh
d4a4a36171
Do not use a partial index as a table scan in an IN operator.
...
Fix for ticket [1d958d90596593a77420e59].
FossilOrigin-Name: 15bc915dd7ae25bfdfbe357c3792db3639799e4d121c6b5b24297af2d6d7129e
2018-12-08 20:30:31 +00:00
drh
a50bffb85e
Add the --async option to the ".backup" command in the CLI.
...
FossilOrigin-Name: 7b6a605b1883dfcbe237b0a58f6f0c233a109e88b521c3b3d97198526c8a0317
2018-12-08 01:09:14 +00:00
drh
2f6239ed4e
Allow the INTO clause of VACUUM to be a text-valued expression.
...
FossilOrigin-Name: af172b53b46759f491f522356e14c5e2374d3f25ec70fbc1e100cadded8f9b22
2018-12-08 00:43:08 +00:00
drh
7464f578ed
Do not allow VACUUM INTO into a file that already exists.
...
FossilOrigin-Name: 92f70e0fa3c9de7fde046f11cc0a7c2800511bb5ace8e68c845133931607616e
2018-12-07 23:48:41 +00:00
drh
52993b31e1
Merge the VACUUM simplification from trunk.
...
FossilOrigin-Name: 93d92a0a5d21a1856316c0205ecaa253691b6e5349b552d43027005676d14820
2018-12-07 20:40:12 +00:00
drh
83da91b7bd
Remove a line of code from VACUUM that is no longer needed, due to the
...
change that allows ATTACH to run within a transaction.
FossilOrigin-Name: a92c398fc5df142ff1459c1be4a6832f2219bc7fabe5789535be3bbd41a4269b
2018-12-07 20:26:29 +00:00
dan
b0b27ab5c6
Add multi-threaded performance test program "tserver" to this branch. Fix bugs
...
in the begin-concurrent/wal2 integration revealed by the same.
FossilOrigin-Name: 7bd3b35661d7d0e51113b9e4b15a0ab7f8e26edeafb43941ef5b44bb94df5109
2018-12-07 20:25:14 +00:00
drh
b0b7db91b8
Prototype implementation for the VACUUM INTO command.
...
FossilOrigin-Name: 036e3320a4af36c1311b25b2e504b0079c8b33df8ad7b7e5fddad07150e6f87d
2018-12-07 17:28:28 +00:00
drh
893bd3751b
Fix the sqlite3_normalized_sql() interface so that it renders
...
double-quoted string literals as "?".
FossilOrigin-Name: 0d8e150434bbd179696f1ffe71d1e06cb3d43e6468496c7e481fca8486387bad
2018-12-07 16:32:11 +00:00
drh
62a88294e8
Fix dbfuzz2.c so that it works with -DSQLITE_OMIT_INIT
...
FossilOrigin-Name: 9ad796a8822f1b7e1e99b73c2cc5be59dbfd85e9c27f3e795c29a2c002c611d1
2018-12-07 03:01:07 +00:00
drh
b9a0e668f3
Fix the sqlite3ExprDup() function so that it correctly duplicates the
...
Window object list on a Select that contains window functions. Fix
for ticket [f09fcd17810f65f717].
FossilOrigin-Name: db5ed2268eda2e6c1df15cd8df4176463d89103b8fda33ba9a0604f0d92bd4da
2018-12-07 01:56:26 +00:00
drh
a37b6a5e31
Performance improvement: Avoid using sqlite3WalkerSelectExpr()
...
and sqlite3WalkerSelectFrom() twice, so that the compiler will in-line their
implementation.
FossilOrigin-Name: 2b9258b8b0342330ebe8c22b59ec276fd042a05547d15b24fdf29e16280868de
2018-12-06 22:12:18 +00:00
drh
a838997544
Fix the sqlite3ExprDup() routine so that it makes complete duplications of
...
subqueries containing window functions.
FossilOrigin-Name: 940174543e87184a0278fcd02e8a096a11510174d9c1d65d21878819790ddaff
2018-12-06 22:04:19 +00:00
drh
bb383df7c6
New test case that still hits an assertion fault, just to prove that the
...
previous checkin merely made the problem more obscure and did not completely
fix it.
FossilOrigin-Name: a9a3b532643b5f106509bb29c3e6bc9d41ec5b2da5a0cd4067898f376eb626a2
2018-12-06 19:56:20 +00:00
drh
11df7d2839
Simplify the query flattener so that it does not duplicate the WHERE clause
...
of subquery that is being incorporated into the outer query - copies it
directly. This is more efficient. And it also fixes the specific test case
show for ticket [f09fcd17810f65f71789525] but it does not resolve the more
general problem that sqlite3ExprDup() does not correctly duplicate expressions
that contain subqueries with window functions.
FossilOrigin-Name: f1b18d44ff855573542c1947a42d4025dff54cacc13dac14d044521762ea9736
2018-12-06 19:15:36 +00:00
drh
d5b44d60c7
When masking bits off of sqlite3.flags, make sure the mask is 64 bits
...
in size so as not to accidentally mask of high-order bits.
FossilOrigin-Name: 53d3b169d8e1892163526caff2c843302c92e280fdeff6831e23a9bb15b82be3
2018-12-06 17:06:02 +00:00
dan
d597b966d9
Add test file wal2snapshot.test that should have been added as part of an
...
earlier commit.
FossilOrigin-Name: f6baa7e1163ed5f61375b0554337030fec23e8a9f60c6412e1b5d626961e93f9
2018-12-06 16:54:44 +00:00
drh
70d5dfba68
When saving off the value of sqlite3.flags, take care to preserve all 64
...
bits.
FossilOrigin-Name: 9c6dbcfab5952cf4e54de30cf9cee48f988b91a35dc3f04d64d6d994dd84a076
2018-12-06 16:50:55 +00:00
drh
ec8fc62c42
Issue a warning whenever a double-quoted string literal is used.
...
FossilOrigin-Name: ac9ad5043026b30394812457e1535df2759aea0d4510029561e92e386672796f
2018-12-06 16:11:14 +00:00
drh
3e2d47d49f
Invoking the sqlite3_trace() or sqlite3_trace_v2() interfaces cancels
...
any sqlite3_profile() that is running.
FossilOrigin-Name: ec63d3506bd429560077f82a4c5ed9d189780789fe1c134fff4f3b8733be1a3f
2018-12-06 03:59:25 +00:00
drh
9c1eb40d69
Merge bug fixes from trunk.
...
FossilOrigin-Name: 1e13aaa29fb6324b60b3758bdab0491fdef9727e0de603d3da3e1885b52c5caa
2018-12-06 02:08:05 +00:00
drh
fc08a1aef8
Remove the unused pColHash field from the Table object.
...
FossilOrigin-Name: 3a2c047989facc3461c63a2f9eed412014c951035a80da47c52a70139fb552de
2018-12-06 02:01:17 +00:00
drh
974b24896a
Fix a potential NULL pointer dereference that can occur in ALTER TABLE
...
following an OOM. Test case in TH3.
FossilOrigin-Name: ea50815bf80ab0d36891518f209acbcd3d6d8d84529741bffd4e841874c78aff
2018-12-06 01:53:12 +00:00
drh
1f169fefca
Fix a missing mutex in the sqlite3_normalized_sql() interface when it is
...
called on a prepared statement that did not previously have a computed
normalization of the input SQL.
FossilOrigin-Name: 1a1a59c6c570879c8f318bbc132103c0285088ba233dd8c32e049b86419347b0
2018-12-06 01:08:58 +00:00
drh
254fa054ec
Merge ALTER TABLE and sqlite3_normalized_sql() fixes from trunk.
...
FossilOrigin-Name: acf10b3f8d6675ddf787f7db55a9ff0ec5729adb6fa70b48b13d2cd71862cffd
2018-12-06 00:05:18 +00:00
drh
7b278f0c3d
Get rid of the hash table used to track IN operators in the
...
sqlite3_normalized_sql() implementation. Use simple integer variables
instead.
FossilOrigin-Name: 272dc74fd0304d6a28aaa8798d13e2f950c1a24d92d17519e3c32aef86714586
2018-12-05 23:56:02 +00:00
drh
253a6af532
The sqlite3_normalized_sql() interface should not be transforming quoted
...
identifier names into wildcards. Fix this, and at the same time simplify
the code substantially.
FossilOrigin-Name: e8540377ec66fa5f9ae3c93bedb5c094057698199c37fc211f7ea95429e815e4
2018-12-05 23:45:46 +00:00
drh
d4a4dd6ebc
Fix an imbalanced lock problem in sqlite3Normalize() introduced by the
...
simplification in [94ea6379178e3ff6a].
FossilOrigin-Name: f69624373e33c4d370a9264a317ffdb0adbce967a950f243de2b41161a8c7ded
2018-12-05 21:55:39 +00:00
drh
8a65380de9
Increase the version number to 3.27.0 for the next development cycle.
...
FossilOrigin-Name: 8f8d682825d065bcaebda4cba63f8b67789b923d8b62eb7c576a5bc01536f577
2018-12-05 19:42:59 +00:00
dan
7b812b6b16
Add test cases to wal2concurrent.test.
...
FossilOrigin-Name: ef9e7a87a4ce4fe9596aed2f880f2b9fc3526c00c48f2868c625a4c24be65abe
2018-12-05 18:25:23 +00:00
drh
19efd0db41
Simplifications to the sqlite3_normalized_sql() implementation.
...
FossilOrigin-Name: 94ea6379178e3ff6a0d1d5819ca4ac558bdadb1ca8a3637c797079db7dc0cd61
2018-12-05 17:48:57 +00:00
dan
ff46e3f460
Fix a test script problem on this branch.
...
FossilOrigin-Name: 692ddc280850ea2ff5d2fa3743f85fb123b4e4ebc452aae9c58b8d80d22b75b1
2018-12-05 17:36:20 +00:00
dan
c30d437376
Fix a test script problem on this branch.
...
FossilOrigin-Name: 285d1c5904dd607457c6b5ff7be3d3191a90ca8b1fb0837327663c9910f978ac
2018-12-05 17:31:24 +00:00
dan
079ae546fe
Fix a problem causing "PRAGMA journal_mode" to report the wrong journal mode
...
(wal instead of wal2) under some circumstances.
FossilOrigin-Name: bf309107dfc4d2abd68b9339c68aeaaffd278096bb2a5912e4a0b0c124fd6345
2018-12-05 17:20:47 +00:00
dan
e05f922583
Fix a problem causing "PRAGMA journal_mode" to report the wrong journal mode
...
(wal instead of wal2) under some circumstances.
FossilOrigin-Name: 1d8d4f689653ce80157740e339f7f1b42479bf90d82b176d8202d0a49f428398
2018-12-05 17:14:03 +00:00
dan
5330a3c6c9
Fixes for snapshots API on this branch. Also ensure that the snapshots API
...
cannot be used with wal2 mode databases (for now anyhow).
FossilOrigin-Name: d8c2d55fa4ec95c6506201edcd1cb2ef108a233bd87a6154f3593909977f7d3f
2018-12-05 16:45:38 +00:00
dan
6456b3929c
Fixes for snapshots API on this branch. Also ensure that the snapshots API
...
cannot be used with wal2 mode databases (for now anyhow).
FossilOrigin-Name: 19c61ab79458936ff4dfca46cf4d1fb1ab16d7bdb5024f502eb4339ec4eef32c
2018-12-05 16:31:02 +00:00
dan
ea41251eb0
Ensure that ALTER TABLE modifies table and column names embedded in WITH
...
clauses that are part of views and triggers.
FossilOrigin-Name: f44bc7a8b3fac82aa5598e9bdaf65ea4dd3c331cf90c1d5ba26ff1698e92c230
2018-12-05 13:49:04 +00:00
drh
f8d7432aa3
Merge enhancements from trunk, especially the enhanced
...
sqlite3_normalized_sql() interface.
FossilOrigin-Name: 47b73f6bfee8c5e41c408fb70dff0e4596c0a3eb0aeba40ad232a6cb1fe75532
2018-12-05 13:44:19 +00:00
drh
707821ff72
Enhance the sqlite3_normalize_sql() interface so that it works even if the
...
prepared statement was not initially compiled using
SQLITE_PREPARE_NORMALIZED. Enhance the ".trace" command in the CLI so that
it is able to access the full scope of functionality provided by
sqlite3_trace_v2() and in particular so that it is able to show normalized
SQL output using the newly enhanced sqlite3_normalize_sql() interface.
FossilOrigin-Name: 7da617e97eb905cb009c47403786682b911e32a630f266e1c53ea72836fc88b5
2018-12-05 13:39:06 +00:00
dan
7a13e692be
First attempt at making features work together. Only the most minimal testing
...
so far.
FossilOrigin-Name: fd707001f0afb1cf32cfeeda3ec7b5622eb49ddedf8fec1a7aa4c8841c77c37a
2018-12-04 19:41:07 +00:00
drh
731dd6ebda
Add the "index_usage" utility program.
...
FossilOrigin-Name: df95455213c9d1db7229e94217e78edc05cbf9e40f39528105494ea6ac52be94
2018-12-04 16:51:42 +00:00
drh
04c6747a80
Performance improvement in sqlite3_step() by creating a new mTrace flag
...
for the legacy xProfile pointer that is set by sqlite3_profile().
FossilOrigin-Name: e28584e8bc7b7405380064b60523fa6191f827f74075f6d117eb7732d752ba5e
2018-12-04 14:33:02 +00:00
dan
50232dd821
Fix a problem with SQLITE_ENABLE_EXPENSIVE_ASSERT builds on this branch.
...
FossilOrigin-Name: ddb4a6fbf8619db058b5eb8fcd687084ed4b65a6f69810357e324158257a911f
2018-12-04 13:51:43 +00:00
drh
b7de827137
Small performance increase in sqlite3_step() for the common case where
...
it returns SQLITE_ROW.
FossilOrigin-Name: 893448265299f4c70c32c8e92ea66f8d33c1c213b21701f73fa3815514cd5ef6
2018-12-04 13:51:26 +00:00
drh
cfc45b1021
Reduce the size of the parser tables generated by Lemon by splitting the
...
yyRuleInfo structure into separate yyRuleInfoLhs and yyRuleInfoNRhs arrays.
FossilOrigin-Name: 70fe8ec2ae3099b8773834c7ac2e56768addbecd57956ac523e71a7dc264049c
2018-12-03 23:57:27 +00:00
dan
4d8517e500
Merge the wal2 and begin-concurrent code. Both features work, but not at the
...
same time.
FossilOrigin-Name: b7281a1caa574870a071bea3e96b1d8210c28c17f9094449b3ce1a42b311e6a1
2018-12-03 20:49:34 +00:00
dan
834c48c279
Minor change to wal.c on this branch to make it more similar to trunk.
...
FossilOrigin-Name: 6a7af3ead5949c461430c1fa92798dc2bbbc58c8cd504005c5afa38993f0be82
2018-12-03 20:38:15 +00:00
dan
51883dfc8b
Cherrypick a couple of fixes from begin-concurrent-pnu into this branch. The
...
differences between the two branches are now that this one does not have
"PRAGMA noop_update" or the mutex-free PRNG.
FossilOrigin-Name: a56506b9387a067ef259504d127694ad20223f4b08781d1676ff7f5fdd9443d8
2018-12-03 19:29:37 +00:00
drh
a63585eb8e
Bring up to date with version 3.26.0.
...
FossilOrigin-Name: f0ddb358cc68e5ec6d9e758893ab3da058a3b2e705124a7449279c992e672a4a
2018-12-03 18:15:52 +00:00
dan
816fc35956
Increase a timeout in test file walprotocol2.test. To account for unix builds
...
without HAVE_USLEEP.
FossilOrigin-Name: 480be916c840e9e28010c22cf29a8396502c9e6387f31f750260c6290f58e9a1
2018-12-03 18:13:46 +00:00
drh
f8c2fea195
Remove the unused sqlite3Fts5UnicodeNCat() function.
...
FossilOrigin-Name: 7149dacf1d440a19f62808b4591c3fa8da202b2ec742d5490a63f2ec005ff9e7
2018-12-03 17:40:46 +00:00
dan
e89feee5c3
Add the "remove_diacritics=2" option to the unicode61 tokenizer in both FTS5
...
and FTS3/4.
FossilOrigin-Name: 06177f3f114b5d804b84c27ac843740282e2176fdf0f7a999feda0e1b624adec
2018-12-03 16:14:49 +00:00
mistachkin
8c53b4e7f6
Update the autoconf makefile for MSVC.
...
FossilOrigin-Name: 675aba1f8b989cfd99370704ecb09031026dc3321cccad122ea91d816e02fdba
2018-12-03 14:58:07 +00:00
drh
de72d2a81a
Remove two lines of unnecessary code, for a very small performance increase
...
and size decrease.
FossilOrigin-Name: 15824ccda0f110794a479b58fbf36082d8c383f34bae9dc0921d96547fb37869
2018-12-03 01:58:02 +00:00
drh
4a5cff73a7
Fix a parser bug in the use of parentheses around table-valued functions.
...
FossilOrigin-Name: 58a51123d1a6381cc67d3c64ba3468ec5a92c299ad6fd86de0b843d0ffafb846
2018-12-03 01:47:41 +00:00
drh
fdc75c9f53
Omit a line of code that has no affect on the outcome.
...
FossilOrigin-Name: 5d933aa659eb7a13f9ab44fe7762be292a1c3c75b957a3b7e0bc6188257b62f4
2018-12-02 01:15:16 +00:00
drh
04ab586bf3
Very slightly smaller and faster.
...
FossilOrigin-Name: 27798f17f567ad065f8a99effcb287bc241df7b450330ef890d192c70528e62b
2018-12-01 21:13:41 +00:00
dan
8eed108df1
Sync this branch with the latest trunk.
...
FossilOrigin-Name: 7a44fa5a350a3f19b8e9f5196d22535788885f8c0e849572202bf64a055ddc2d
2018-12-01 20:14:06 +00:00
drh
4f939e86df
Version 3.26.0
...
FossilOrigin-Name: bf8c1b2b7a5960c282e543b9c293686dccff272512d08865f4600fb58238b4f9
2018-12-01 12:34:55 +00:00
drh
1ba88c7f1d
Fix a typo in a comment. No changes to code.
...
FossilOrigin-Name: 23684cb841ac2cb0d69e5470253bd96feb733762a7553b952a08470834fe85fa
2018-11-30 20:59:00 +00:00
drh
f7c44f9bd2
Fix the name of the trig function approximation in geopoly. No functional
...
changes to the code.
FossilOrigin-Name: 33576b12b450a37b467ba012e77b297eb80d7147b12a5b23302009bb32455720
2018-11-29 12:00:02 +00:00
drh
4d2f81eb73
Fix a typo in a comment used to generate documentation. No changes to code.
...
FossilOrigin-Name: 62360ceae9d2321003c49cfac3e9f915969a0da12d02c3e633cfa898c0a68566
2018-11-28 19:23:28 +00:00
dan
3a85a298c9
Update incrvacuum.test so that it works with builds that do not support mmap().
...
FossilOrigin-Name: 8eb62fd5fa9adb88de51aa812270dbdb32ee5cacd636d200e658c507a14a035b
2018-11-29 01:20:51 +00:00
dan
909f78cbd8
Update some test cases to account for SQLITE_OMIT_VIRTUAL_TABLE builds.
...
FossilOrigin-Name: b53a9a3dc6b0422a102b245451769b0cd8c0d67090fefabf7cb3a65137a73771
2018-11-28 11:49:46 +00:00
drh
26505e5f51
Follow-up to [0bf0fd242b93c3bd30]: only reset the pager when adding a
...
new codec, not when overwriting an existing codec. Also, improve a
comment in the pcache1 subsystem.
FossilOrigin-Name: 5c040fdb013d178e5dffa300621eab91b92beb085ffb9ef2ba08f6bf1dd4013e
2018-11-28 11:09:09 +00:00
dan
49f6a0d82a
Changes to Makefile.in to allow testfixture to be built with
...
SQLITE_USER_AUTHENTICATION.
FossilOrigin-Name: 7b510f59fd2cf68331c35ef6b4c2bcf092adf1120ea22be74d1bab1f42a171f5
2018-11-28 08:24:41 +00:00
dan
1af016b7f4
Remove -DSQLITE_USER_AUTHENTICATION from the "Unlock-Notify" configuration.
...
Create a dedicated "User-Auth" configuration for testing this feature.
FossilOrigin-Name: 8c41024fbba8c70b671c63a5719c6757f0e6dc731ce52caa755edbb8e21d6944
2018-11-28 08:09:08 +00:00
dan
f6e015fab9
Fixes for SQLITE_OMIT_VIRTUAL_TABLE builds.
...
FossilOrigin-Name: 9bcdec85e21a5228c700f7373b92ae7ea14b585bcda34235b605be4f7ec15a15
2018-11-28 08:02:28 +00:00
drh
f6fa95b81d
Always enable SQLITE_ENABLE_DESERIALIZE for the MSVC makefile as this is necessary
...
to get releasetest.tcl to work.
FossilOrigin-Name: d362dedba3637013d654f2a890fc7b61476f2adeb6bf3bffb4e715c1d1d0b7c2
2018-11-28 01:45:05 +00:00
dan
63e50b9ed6
Fix a failing assert() in sqlite3ResetAllSchemasOfConnection().
...
FossilOrigin-Name: 0ea049f342d11c676e148239e45d252164081362e921a4beb735d6899eb77344
2018-11-27 19:47:55 +00:00
drh
fcee090746
Improvements to two cases in pragma4.test.
...
FossilOrigin-Name: 3c893d9bcc34c391505b08cc35808dd3abddf3c5d952798334c296547bcae6a6
2018-11-27 17:02:38 +00:00
drh
746a1515b2
Remove the sqlite3PagerUseWal() routine which was made obsolete by
...
the [81629ba91475938b6ad] change.
FossilOrigin-Name: 4331b4990cbc1221d94fadd376dfc6efe83f67836aef00912126da4c924bf659
2018-11-27 14:41:07 +00:00
drh
60ce5d3135
Add a simple test case for Lemon. Always include assert.h in the
...
Lemon-generated parser.
FossilOrigin-Name: 9c9c46dcbe92aeabe3d5675bb69681b6dfd53798bc67e6a2ceba67ed3c4fb0af
2018-11-27 14:34:33 +00:00
drh
b8a762827c
Fix to the error handling logic in the Lemon parser template. This does
...
not affect SQLite since SQLite does not use that part of the Lemon parser
template.
FossilOrigin-Name: c6dfc59eb12a02d35b708b5d94239377c79f688fa572f72bad51a157b1bf599c
2018-11-27 14:03:11 +00:00
dan
bcdef69482
Add an "#ifndef SQLITE_DISABLE_FTS4_DEFERRED" block around function
...
fts3EvalDeferredPhrase() in fts3 in order to silence a compiler warning.
FossilOrigin-Name: 6f4b0d0494446d46ac22b17650a25b025995cc545cac8fbc4776cf9dd388bcd8
2018-11-27 09:57:10 +00:00
drh
eea8eb6d04
Do not allow direct access to internal-use SQL functions such as
...
sqlite_rename_column() and sqlite3_rename_table() except when the
new SQLITE_TESTCTRL_INTERNAL_FUNCTIONS flag is set.
FossilOrigin-Name: 6e1330545e7b74fe5f1f20751a3425e2788441485fc07fcb7626e448c72027ce
2018-11-26 18:09:15 +00:00
drh
49b269e095
Minor comment enhancement in alter.c. No changes to code.
...
FossilOrigin-Name: 12920bcb99b25e147e1877ee001bc551a743e3530c954fe2b45a18a4eef9eeff
2018-11-26 15:00:25 +00:00
dan
dcb3992c66
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: 28a615a2e0f48b0fee3eaf7841ff902e069fa6c221df6ad9a57b8709c88561fb
2018-11-26 07:21:06 +00:00
drh
52f0c6205c
Fix a bug in the geopoly_ccw() function. Test cases in TH3.
...
FossilOrigin-Name: 773c5c1d9c0ec40c51949c38c9dc17e778086f3f92791cca9b85288de0076dab
2018-11-24 20:44:46 +00:00
drh
eafb9a0ae5
Make the winTruncate() method of the windows VFS be a no-op if there are
...
outstanding references to the memory-mapped pages. Otherwise, memory might
be deleted out from under those references when the file is remapped during
the truncate operation.
FossilOrigin-Name: ffce4aac18dacbf2a3112ae2ab56c7db20cb164f179683d90a66ef38f4a98f2b
2018-11-24 17:46:07 +00:00
drh
48ea97e5dd
Remove the unused mmapSizeActual field from the Windows sqlite3_file
...
implementation.
FossilOrigin-Name: 0e7aa62227d1d9c3540b54d7caf44a1ce7ccfa706672fc41dbb2be477ab3a667
2018-11-24 16:07:21 +00:00
dan
09236755ee
Fix a problem reading from temp databases in SQLITE_DIRECT_OVERFLOW_READ
...
builds.
FossilOrigin-Name: 81629ba91475938b6ad528e7b1dbef4ad22239782bb2e9c1bb59413aba11da87
2018-11-22 19:10:14 +00:00
drh
8055a3ead4
Improvements to the ossfuzz.c fuzz-testing module so that it works with
...
-DSQLITE_OMIT_PROGRESS_CALLBACK and with -DSQLITE_OMIT_INIT.
FossilOrigin-Name: d343f7d6b05865c282eb73a0e39dc396f2927982af45b3d045de03ef73715693
2018-11-21 14:27:34 +00:00
dan
3c425484a7
Fix problems in pragma.c causing some PRAGMA statements to test the wrong
...
schema-cookie before proceeding, or to try to open cursors on the wrong
database ("PRAGMA foreign_key_check" only).
FossilOrigin-Name: 6982f52f579d20b8a2965373731d41622bda7f09fbf82cc005bb378321829f4c
2018-11-20 18:09:59 +00:00
drh
2d588b8c08
Fix the regexp used to recognize libdl errors on OS-X.
...
FossilOrigin-Name: 1740025307531a52e4f0641e2e74dc14715130858f2e9236be13b66924f00220
2018-11-17 14:59:35 +00:00
drh
92cd307c1c
Fix harmless compiler warnings that appear with SQLITE_OMIT_EXPLAIN.
...
FossilOrigin-Name: 5fff00b0d5eb634d40e767671d5a0e8bd263d15d88abe531f6072f01bc789568
2018-11-17 14:26:45 +00:00
drh
0c5a95e43a
Remove a C++-style comment.
...
FossilOrigin-Name: 645232f2b9ce3ee345b1d22c0db1265e39bb674bef9ab6fb10d5bee8ab696787
2018-11-17 14:19:34 +00:00
dan
8e2d4ad30c
Fix a problem in test script e_fkey.test.
...
FossilOrigin-Name: acfd0a05a8957728c1f0eb936f4121ce26f291f20dd583bd57ce2bb271617d3f
2018-11-17 13:08:07 +00:00
drh
d905113e97
Fix a test case so that it works on windows.
...
FossilOrigin-Name: 2d92d25fae5d9757866a0d0b30427b50d635e9b05e12df9464f095419fd7ef3e
2018-11-16 20:50:53 +00:00
drh
20b3fc4db1
Add SQLITE_CONSTRAINT support to the xBestIndex methods on dbstat,
...
sqlite_dbpage, and zipfile.
FossilOrigin-Name: 5cd24e552b4fed71cfb2e37929371175682f23f1430df2900a87e6a5823d138e
2018-11-16 20:18:07 +00:00
drh
d16f26a708
Update the explain virtual table to make use of SQLITE_CONSTRAINT.
...
FossilOrigin-Name: b2d41ff7027b44ccb5dffc303c47d42f1f6fd66ce22e90450d3a666c73fe8b8e
2018-11-16 19:19:58 +00:00
drh
43579191e8
Fix the JSON table-valued functions to make use of SQLITE_CONSTRAINT.
...
FossilOrigin-Name: 3f34f4f561c77f8ec88906818f2984dcf8f17d1645bac175e9027595517560bc
2018-11-16 16:04:50 +00:00
drh
a69262c0f2
Add an assert() to the generate_series virtual table to verify
...
assumptions about the design.
FossilOrigin-Name: cd13b499a20a7d476edb8500537edef4c5151410ba0300469ebf0f7ba16964b8
2018-11-16 15:41:27 +00:00
drh
e4f90b7075
Update the generate_series() table-valued function to make use of the new
...
SQLITE_CONSTRAINT return from xBestIndex.
FossilOrigin-Name: 4372ad644dda5a1fa46b6b6070092320c835439b41f598cbc041e9deef786988
2018-11-16 15:08:31 +00:00
dan
c86b23bfbc
In order to avoid exporting a symbol, use a macro instead of a function to
...
replace sqlite3_complete() in the shell code when SQLITE_OMIT_COMPLETE is
defined.
FossilOrigin-Name: d584a0cb512815945ef06ee3b5ebadbf2a543b008487f6d098e1e8ab79f61d2d
2018-11-16 14:36:42 +00:00
drh
32dcc847b5
Enhance the xBestIndex interface of virtual table so that if the xBestIndex
...
method returns SQLITE_CONSTRAINT then that particular combination of
constraints is considered unusable and does not participate further in
query planning.
FossilOrigin-Name: 684013cef6bfcfd920a4aec645df9f5d41ace8b34e75fca61759c1b4f82cc89e
2018-11-16 13:56:15 +00:00
drh
eabbf37fae
Fix comments and make magic numbers into #defines in the fsdir
...
implementation.
FossilOrigin-Name: c537c9c3630ca979bdccab977275bfc11cce33ea54adb71a4bd4f46c85f65c6f
2018-11-16 13:06:30 +00:00
dan
cbfaa076d7
Fix a problem with virtual table "fsdir" and some join queries.
...
FossilOrigin-Name: 7fffcee0fc3fe8d036f0d93ec17673992c3edcf2bb454dc90d80142435b37946
2018-11-16 08:36:15 +00:00
drh
6f147c54ef
Improvements to the CSV virtual table.
...
FossilOrigin-Name: 0406ecbbe75513e342040b71fdd342462222dbb3820486b5f745d7865805c00b
2018-11-16 01:42:26 +00:00
mistachkin
23bfa80c19
Fix typos in the previous check-in.
...
FossilOrigin-Name: 9b37bbf5f338dea962331e4fd73dfa0baae98ba63344a2fa737b845b90ecb0c5
2018-11-15 19:12:22 +00:00
drh
36d248812b
Include geopoly in the compiler-warning script.
...
FossilOrigin-Name: 3d947e1ec0f0800fcad3a04e4876d5247fd1b23e51ed7f49d428fff6683e8a16
2018-11-15 16:56:33 +00:00
drh
b1b4a3dbca
New fuzztest cases.
...
FossilOrigin-Name: e8316ba47f566c8d2cb48d9d54308e8869743ef39d35b662a8764b0479aed9e0
2018-11-15 13:51:48 +00:00
drh
f9dc5f7726
Fix a potential buffer overread in the dbstat virtual table when processing
...
a corrupt database file.
FossilOrigin-Name: a62e6b593b59eae44d299842a4d02b9346a0c72a3e1206882f304ab40f2cd5c5
2018-11-13 20:21:52 +00:00
drh
91a21f4d08
Turn on ASAN for the dbfuzz2 utility. Fix a buffer overread associated
...
with sqlite3_deserialize().
FossilOrigin-Name: 4e38f27b55030e908bd36f32101e26b30f10dbde67e12c8197d0363ee12aa06d
2018-11-13 19:51:41 +00:00
drh
2296b67598
New hyperlinks in comments used to generate documentation. No changes to code.
...
FossilOrigin-Name: f9755f81b1c0fd29f242dce78a2fba570fa2714d76e93b8563f426a040352513
2018-11-12 15:20:44 +00:00
dan
2639ddc474
Fix a use-after-free problem in the fts5vocab virtual table.
...
FossilOrigin-Name: ac69d169c61c973448b1d3eef5b8ff0de2d932d7bb74068344cb1b79bd330578
2018-11-12 13:20:00 +00:00
drh
38fa8c9bb0
Add support for read-only shadow tables on virtual tables. Added the
...
SQLITE_DEFAULT_DEFENSIVE compile-time option that can put SQLite in
defensive mode by default.
FossilOrigin-Name: 9c685171c4d7ae8615d1489c9621aba79fe4ef1f0e56b75823b88c3e70d127df
2018-11-10 18:23:32 +00:00
dan
d01372f1b8
Add the "changesetfuzz" program. For fuzzing changeset blobs.
...
FossilOrigin-Name: 2bae0e7c1c1393aeb0bb7234865e410c9ca0e3c31cdc8566e9503f70ca7ac64c
2018-11-10 17:37:39 +00:00
dan
ad5bafa699
Merge latest trunk changes.
...
FossilOrigin-Name: b6d549c988e765789c4a81d586170451db9f5da1973dde8aa0329445f915fbb2
2018-11-10 17:36:55 +00:00
drh
ab0659fdab
Remove a NEVER() that is reachable after all. Reverts checkin [9292d3351c40339].
...
FossilOrigin-Name: c5dc7fb873b15bd4e4f31b944c9feee78ab7ec2cb74f5fc55b615fd0e2784a88
2018-11-10 04:14:51 +00:00
drh
1ca9a8b9df
Merge fixes from trunk.
...
FossilOrigin-Name: bf88efcec40036e0805940ff6371643dbc518442457d2bc18c711753607ae36c
2018-11-10 03:47:40 +00:00
drh
ac4b8dea9b
Fix invalid use of unprotected sqlite3_value objects in the sqldiff utility,
...
when using the --changeset option.
FossilOrigin-Name: a8d65214a567eb1afd703ee4d09d398247e060a610b46097a726364db2861001
2018-11-09 23:41:57 +00:00
dan
b430701823
When a table is renamed using "ALTER TABLE RENAME TO", update any REFERENCES
...
clauses that refer to the table, unless "PRAGMA legacy_alter_table" is true
and "PRAGMA foreign_keys" is set to false (i.e. so that when "PRAGMA
legacy_alter_table" is set behaviour is still compatible with versions 3.24
and earlier).
FossilOrigin-Name: ae9638e9c0ad0c366f93c88a850f6b4cc86881e9f3f9f1e39574d9d83ddd8a6a
2018-11-09 20:04:05 +00:00
drh
0b57d312b7
Fix for ticket [787fa716be3a7f650cac]
...
FossilOrigin-Name: 531eca6104e41e4301fa2cf58bb8fec811da31e151a0f766c93aece5521d235b
2018-11-09 14:17:51 +00:00
drh
145d0a35d9
In the treeview.c module, break out the display of SrcList into a separate
...
subroutine, so that it can be invoked while debugging.
FossilOrigin-Name: 8c74065f0031274d9bc711d5d53c39aefcfb2b2679811105974a2c7c7a9e1dcb
2018-11-08 22:53:06 +00:00
drh
635b4ce5f7
Improved documentation for SQLITE_DBCONFIG_DEFENSIVE. Add a NEVER() macro
...
on an unreachable branch.
FossilOrigin-Name: 9292d3351c40339de7ad6bc26c02e7592e6cdee2592e0c790fae63ccf21ea88c
2018-11-08 17:32:50 +00:00
dan
dbc1e9e6a8
Add tests and a fix for program "changesetfuzz".
...
FossilOrigin-Name: 09b90db56c2d5e3aceae59c6bf1eb07f9db9ef38da29d2162046b88d39e47b86
2018-11-08 14:59:51 +00:00
dan
be075d1188
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: 53cd91d00594f1bd7c0a565a35ec9cac3095a583022d6211158a369e942257b0
2018-11-07 20:13:45 +00:00
dan
5704f455b9
Fix minor issues in the changesetfuzz program.
...
FossilOrigin-Name: 5c7f024073bc93089f038b5cf122a7a9d5b933f7c1b357f6d20ae925739ffc38
2018-11-07 20:07:28 +00:00
dan
7844d21536
Update the "changesetfuzz" program to work with patchsets as well as
...
changesets.
FossilOrigin-Name: 75b00fbe884d4bd8ba099d7c0a2e8af2f40fedfdef2d9b624dd51cb66952611c
2018-11-07 17:52:29 +00:00
drh
e1857cc015
Performance improvement in subroutine that decides whether or not a table
...
is read-only.
FossilOrigin-Name: 6e4968b00507c4fdbe7e3c91f3f9cd61c6f1848092ddcf306f9fcb101a47fce7
2018-11-07 16:46:43 +00:00
drh
b39dd52adb
Merge the onefile permutation fix from trunk.
...
FossilOrigin-Name: e543bff87d1efc31a5b863085c056ce06c365cc7d9d3fef0ced7521bde536783
2018-11-07 16:12:34 +00:00
drh
b7c2cf0aaf
More test-case adjustments for defensive mode.
...
FossilOrigin-Name: 911e8a17a3810cd7042e91a32aba80dc3d6be88320c208e48f7bcee8b22a0ff2
2018-11-07 14:41:08 +00:00
dan
9db4828662
Fix a problem with the handling of SQLITE_FCNTL_PRAGMA in the test_onefile.c
...
demo.
FossilOrigin-Name: 13e21b7da8fe754e230b09ca0b9f1f69cd9aa20d4407ddd8b95ca3fb18c9abeb
2018-11-07 14:39:22 +00:00
drh
6b758e1d96
Merge the permutations fix from trunk.
...
FossilOrigin-Name: b753d849fe0524e14ae9367a47e29be76332fafb77bfe13e266aeef1ef6742ce
2018-11-07 13:41:27 +00:00
dan
7d0fa14c03
Partially revert [3e1a2f661], as some test scripts require separate $presql
...
and $dbconfig variables.
FossilOrigin-Name: cbf85284beb60d068b446c52f000d694a810d4de9096ad2951523a4c88e7334c
2018-11-07 11:56:23 +00:00
drh
6ab91a7a7a
Add the SQLITE_DEFAULT_DEFENSIVE compile-time option. Fix up test cases
...
so that they work with DEFENSIVE enabled.
FossilOrigin-Name: 3212733cb6d1a59516d67a86df7c7b1d2456a1b2e5d7080c26b0e87b2609c65d
2018-11-07 02:17:01 +00:00
dan
005d4c61c1
Update the changesetfuzz program to fuzz changeset schemas as well as data.
...
FossilOrigin-Name: 141a93c843d501d8bb640228645ead0a83870c1c11e9d4b07ed24b296c69a0b8
2018-11-06 20:08:03 +00:00
drh
0f0d3ddf71
Enable DEFENSIVE mode by default for tests. This requires lots of case of
...
turning DEFENSIVE off in order to dodgy things to the database for testing
purposes. No all of those cases are yet handled, so "make test" does not run
to completion.
FossilOrigin-Name: a1d6c6712c3304fd736077432c8c180692cf7d79be7f3a073510b6dab0eb951f
2018-11-06 19:26:04 +00:00
drh
aef15e74c8
Turn on defensive mode for running test scripts. Does not yet work.
...
FossilOrigin-Name: 1c1d24edbb732f2a2002a741c7a7afdd010b67e1b5e6d90ff36c6428897e7612
2018-11-06 15:57:59 +00:00
drh
fc25721c9e
Only allow shadow table to be written from within a recursive SQL call.
...
Omit the SQLITE_PREPARE_SHADOW flag. Some tests are failing because the
tests depend on being able to write to shadow tables.
FossilOrigin-Name: d890c6582524677666e6f5b5817331dec332ade16b2f744cbb8a3c7dd9b63e21
2018-11-06 14:03:07 +00:00
drh
5a65470300
Add enforcement of read-only on shadow tables. This does not currently work
...
since some virtual tables are attempting to update shadow tables using
sqlite3_exec().
FossilOrigin-Name: f79b47c9859de597d5924870752dd7cab89c8f0608e5cceb2281f6ffb2e91930
2018-11-06 13:37:20 +00:00
drh
84c501bac1
Initial code to make shadow tables read-only to ordinary SQL. The now
...
xShadowName method is added to the sqlite3_module object and is used
to identify potential shadow tables. The SQLITE_PREPARE_SHADOW argument
to sqlite3_prepare_v3() is defined. It is designed to permit writing to
shadow tables, but is currently an unused placeholder.
FossilOrigin-Name: 31942b3dd3f66eb0d9977bf1cadc2f2d7be7967cce2b55784be0b939dfef1985
2018-11-05 23:01:45 +00:00
dan
f095a1affb
Add preliminary version of "changesetfuzz" program. For fuzzing changeset data
...
without creating corrupt changesets.
FossilOrigin-Name: 81ac8745faac0bda8d68ac113f1938f0e25208642e8ceb2af452680086454cb5
2018-11-05 20:37:33 +00:00
drh
2d13f6016b
Add the SQLITE_DBCONFIG_DEFENSIVE flag.
...
FossilOrigin-Name: 11d98414eac467affb0b3cf0c7e5cc3d43184fc2b6e7e898bb5277b51ea9e1fa
2018-11-05 19:37:30 +00:00
drh
9196c81406
Eponymous virtual tables appear to exist in all schemas. This is an alternative
...
and improved fix to the eponymous virtual table in trigger problem that
was previously addressed by checkin [1fa74930ab56171e].
FossilOrigin-Name: b8d35c4a7c99ce3753761e5b81269d52c3c910c603fa70b72549883ba68bc485
2018-11-05 16:38:10 +00:00
drh
383bb4fa62
Disable the IS NOT NULL optimization when the IS NOT NULL operator is part
...
of the ON clause of a LEFT JOIN. Fix for ticket [65eb38f6e46de8c75e188a17ec].
FossilOrigin-Name: af39661e60f562b9eb10343fd83e8fe21be4d7276111e7853c1179a24cab09ce
2018-11-05 07:53:17 +00:00
drh
0f1c2eb5f2
Correct the internal logic for SQLITE_DBCONFIG_DEFENSIVE.
...
FossilOrigin-Name: 76094345821246c887a31a234b339d03a78eddbb9fab33b06c3c20797c038349
2018-11-03 17:31:48 +00:00
dan
29d77dc450
Add extra defenses against strategically corrupt databases to fts3/4.
...
FossilOrigin-Name: d44318f59044162e229a444582692e9788f17b5c404b4eb702f4c2114b22fefe
2018-11-03 16:51:30 +00:00
drh
a296cda016
Add the SQLITE_DBCONFIG_DEFENSIVE flag.
...
FossilOrigin-Name: af3f29d49359af2291b1d9e06e0db76fd000fbd24b4ac84d2668a0d1322efd83
2018-11-03 16:09:59 +00:00
drh
c6e519f335
Fix a assert() in the query planner that can arise when doing row-value
...
operations on a PRIMARY KEY that contains duplicate columns.
Ticket [1a84668dcfdebaf12415d].
FossilOrigin-Name: dcb8c73594ea6b12bad98dc883a585d3e6b925c2ead267dc40332b3d266db5e8
2018-11-03 13:11:24 +00:00
drh
147ad061f6
Enhance triggers so that they can use table-valued-functions that exist in
...
schemas outside of the schema in which the trigger is defined.
FossilOrigin-Name: 1fa74930ab56171e2e840d4a5b259abafb0ad1e0320fc3030066570a6dd10002
2018-11-02 17:38:39 +00:00
drh
7301e77402
Deploy the sqlite3Strlen30NN() function (argument guaranteed to be non-NULL) for
...
a small performance improvement.
FossilOrigin-Name: 4a6ad5190b62020d97a7de02c801544f20b7b98145ceff14af1f2834d3057f9c
2018-10-31 20:52:00 +00:00
drh
a60c63013e
Add support for the SQLITE_PREPARE_NORMALIZED flag and the
...
sqlite3_normalized_sql() when compiling with SQLITE_ENABLE_NORMALIZE.
Also remove unnecessary whitespace from Makefiles.
FossilOrigin-Name: 790ea39a6585ea9f4dad9e132e1fb0447ac1558f728196580d2c3edee84823f7
2018-10-31 19:01:13 +00:00
drh
f8181eaa20
Tweaks to the test_intarray documentation and tests.
...
FossilOrigin-Name: 7107f0dacf4467430d1ca157cb848dde984e48e529e7d67a88b7594b0f8159c9
2018-10-31 18:24:29 +00:00
drh
05209e9021
Merge fuzz test cases computed by dbfuzz2.
...
FossilOrigin-Name: e0d30c1862884049098e1fa9b7c228ff8318a40c09e2516ef2dc8db22e2048e2
2018-10-31 01:12:06 +00:00
drh
49272bc728
Improved corrupt database detection in the relocatePage() routine of
...
the b-tree module.
FossilOrigin-Name: d57873337a2a7a0d717dc7726cd2682b5bea594d2d1ff8f16c2485161fcd6b16
2018-10-31 01:04:18 +00:00
drh
c985c2822c
Add new fuzzer cases generated by dbfuzz2.
...
FossilOrigin-Name: 79fdad8b42869100845eed36224602452486d0166c18cec7d343040fdac7379e
2018-10-30 23:45:18 +00:00
dan
b74cf4b6ea
Update comments in sqlite3session.c to describe the format of "rebase blobs",
...
as well as changesets and patchsets.
FossilOrigin-Name: bf93f7b56b1d15682988daf3f1c293caf755433defdecd52ba8782fc40e92bd7
2018-10-30 19:14:16 +00:00
drh
fd748c6460
Split the SQLITE_WriteSchema flag in two flags, WriteSchema and
...
SQLITE_NoSchemaError. Set only WriteSchema on a VACUUM to avoid problems
when trying to vacuum a corrupt database. With this change, the size
of the flags field on sqlite3 must grow from 32 to 64 bytes.
FossilOrigin-Name: 4f9878107a54356b7105fa1db7655ee239685d570436f6ad4d4221c9bd829b3d
2018-10-30 16:25:35 +00:00
drh
a751f39c3f
Modify the CLI so that the --deserialize option is only available if it is
...
compiled with SQLITE_ENABLE_DESERIALIZE. DESERIALIZE is now off by default
for the main.mk makefile, but on for Makefile.in and Makefile.msc.
FossilOrigin-Name: 90b2a684f775e1468d63bf950119cf0aaa62b5a449f518e7cc513c314191dd14
2018-10-30 15:31:22 +00:00
drh
ad9bfa5e07
Improvements to the -fsanitize=fuzzer based database file fuzzer.
...
(Cherrypick from the rubust-against-damaged-db branch.)
FossilOrigin-Name: 3cc01a0eaf54e3d5adf206825cfcab15edf73bd5aea10dfc497efd78071a17d0
2018-10-30 15:20:35 +00:00
drh
2b3c4af553
In the CLI, when opening a file that begins with the normal SQLite prefix,
...
open the file as a normal database even if it has a ZIP for AppendVFS record
at the end.
FossilOrigin-Name: 7989bbda70a24611c3b8af96a53114bb53d87a2e1145ec7ad4f1b4cbf8d6040c
2018-10-30 14:36:21 +00:00
drh
60f34ae091
Enable sqlite3_deserialize() in the CLI. The --deserialize option associated
...
with opening a new database cause the database file to be read into memory
and accessed using the sqlite3_deserialize() API. This simplifies running
tests on a database without risk of modifying the file on disk.
FossilOrigin-Name: 5e0129ee9afa7c2d707f8ac9e29ef3583c49bb1d0965085c067d58f828ac8cdf
2018-10-30 13:19:49 +00:00
drh
f4452cfbed
Fix a potential assertion fault that can occur while trying to DROP a table
...
from a corrupted database file.
FossilOrigin-Name: 147a9429a558cf34c316ab8f87832e97caff55d92df696ab6fd045466c8c663d
2018-10-29 21:01:28 +00:00
drh
5aa20378f7
Fix minor memory leak in the dbstat extension that can occur following an
...
attempt to analyze a corrupt database file.
FossilOrigin-Name: cb874fd87384be397008e953242d5773ef5d64e07c3e1ae352a42a25d70597b4
2018-10-29 18:33:42 +00:00
mistachkin
8bee11a41e
Add the sqlite3_normalized_sql() API.
...
FossilOrigin-Name: 592b66e8058dd03a056a036e2606247c9efdb06d15eebe9bcc455f7f55e30ae6
2018-10-29 17:53:23 +00:00
dan
dbe7d37ae8
In the sessions module, avoid collecting rebase data if the user has not
...
requested it.
FossilOrigin-Name: de72a773dd3ad58a7f2233e1fc06bf60deb8892a2719ea8e9b42e7d592c1279f
2018-10-29 17:08:27 +00:00
drh
f888158c7f
Harden the dbstat extension against corrupt database files.
...
FossilOrigin-Name: a0d47f25ae7bdf98f5b853f23776b3bf86bea7c0dda386664c1e3b1c363c518f
2018-10-29 16:07:10 +00:00
drh
d811d844cd
Improvements to the dbfuzz2.c test module.
...
FossilOrigin-Name: d60eff493b875366981c5a25000bb65cde9f6e628192914910790acc562c17b9
2018-10-27 21:06:44 +00:00
drh
977e5dcd07
Add an entry in Makefile.in to build dbfuzz2 using clang-6.0 with
...
-fsanitize=fuzzer,undefined.
FossilOrigin-Name: a4a083ed8cdb106af661d2ee0203e21c576f5c2304419ce603826e4f2851c2e0
2018-10-27 16:02:16 +00:00
drh
65da285e6a
Initial code for a fuzzing tool on database file that works with the
...
-fsanitize=fuzzer option of clang.
FossilOrigin-Name: 90d12094d36957fbded71545add8a5dc206798fdacc17d4d161d715569a7f991
2018-10-27 00:47:33 +00:00
dan
1f48e67db1
Add the sqlite3session_config() interface. For configuring global parameters
...
belonging to the sessions module.
FossilOrigin-Name: 1e69f3ff057b0be27a9e79842de2485f8299799f309e89bfa7597dd688e0975b
2018-10-26 17:05:00 +00:00
dan
f689400dc7
Prevent an == constraint specified using the table-valued-function argument
...
syntax from being used to optimize any scan not related to the virtual table
for which it was specified as an argument.
FossilOrigin-Name: 4d46685f282409f7154be288719cbea4b743d7ea5315a55a91462003497469f7
2018-10-26 15:36:53 +00:00
drh
8e5bfedd22
In the WHERE-constraint propagation optimization, if there are duplicate
...
constraint, make sure only one of them propagates. Proposed fix for
ticket [cf5ed20fc8621b165].
FossilOrigin-Name: 5d5b596f152bb2781011a05f75f9e200774d4f69d648ef68de577b4ace973e07
2018-10-25 14:15:37 +00:00
drh
e23d05e807
Add the ENABLE_GEOPOLY case to the compile_options pragma.
...
FossilOrigin-Name: de940296d227c96db4d0cf913fc5c0e5138729eda7cda0a0ac6b704cce1e1e1e
2018-10-24 23:55:41 +00:00
dan
0f5f54062c
Fix a problem with using window functions in compound (UNION, INTERSECT etc.)
...
queries.
FossilOrigin-Name: 059ff53a46c7f1e4bf3e7dc558312beef67826c2753e2ab7e4e7df498b37b617
2018-10-23 13:48:19 +00:00
dan
46de072880
Add the sqlite3changeset_start_v2() - a new version of _start() that accepts a flags parameter - and a streaming equivalent to the sessions module. Also add the SQLITE_CHANGESETSTART_INVERT flag, used with start_v2() to invert a changeset while iterating through it.
...
FossilOrigin-Name: cbedcb9aaefdfe00453efbdf0eac6c15e1f53bbe8fff2e7d534a5adf23be04f5
2018-10-20 13:48:09 +00:00
dan
9c18ef09a5
Take steps to avoid a potential integer overflow in sessionBufferGrow().
...
FossilOrigin-Name: f7affa2e708d1b4c7c47157bcb18e9f79611ca45a93ebc88de6dc96f84a677e7
2018-10-18 15:17:18 +00:00
dan
44748f27a6
Add the SQLITE_CHANGESETAPPLY_INVERT flag to sessions. For inverting and applying a changeset in a single step.
...
FossilOrigin-Name: d4b6406e7f5ba06ac73ab9fdef57232b2459e0af12420ed946ebed6aef46f0b1
2018-10-18 14:59:21 +00:00
drh
bafad06139
Test case modifications to support SEE.
...
FossilOrigin-Name: 02b6f8f2778c371130c512e980c3db07c7e76dcf7dd92a878b86e4b6a47ca307
2018-10-12 15:01:56 +00:00
drh
fa5c62ef2e
Add the textkey and textrekey pragmas.
...
FossilOrigin-Name: f03164d45450cd7ff2162999aa9e51eec7fb5e7cab1fa83d876b544f8f841097
2018-10-11 18:41:50 +00:00
drh
e93f82658a
Fix harmless compiler warnings in the CLI.
...
FossilOrigin-Name: 1916d2912a4ef5c251853de3c9d66417e20f0c0fc8ddfbc84c131dfd798439f6
2018-10-11 16:53:37 +00:00
drh
53f5f00762
Always reset the pager before changing the codec.
...
FossilOrigin-Name: 0bf0fd242b93c3bd308ab46db1be9edef141b89db07a0f5a4ed8b23c963da0d5
2018-10-11 16:38:56 +00:00
drh
f7f2a82aa0
On the first connection to a WAL-mode database that was not cleanly shut down
...
and contains a left-over -shm file, truncate the -shm file to 3 bytes instead
of to 0 bytes. Avoiding a truncation to 0 means that system monitoring tools
can better detect if a process illegitimately tries to truncate a -shm file.
Such a rogue process might think it is being helpful by cleaning up old files,
but there is a race condition that can cause damage to the database.
FossilOrigin-Name: 90cf32cde072a305f30c75a71665d1f9e23e805c0a49f5306f015c056dd70f0c
2018-10-11 13:51:48 +00:00
drh
1dbb147598
In the CLI, fix a file descriptor leak following OOM and a missing va_end()
...
call.
FossilOrigin-Name: ec36d15a9e349f4295a9e2215dea0a18e9276e0e4ce2d05021e6b467ab7763bb
2018-10-11 10:37:24 +00:00
drh
b6c4d59e89
In the unix VFS, fix the heap shm allocator (used for unix-excl)
...
so that it works even on systems where the page size is larger than 32KB.
FossilOrigin-Name: 7fbb083c5cf0948af3624b7538ffa086f77de27a3e84a7039ae7d6574f1a3a54
2018-10-11 02:39:11 +00:00
drh
a9e4be3b08
In the CLI, allow the SQLITE_HISTORY environment variable, if it exists,
...
to specify an alternative file in which to store the shell edit history.
FossilOrigin-Name: 696e82f7c82d1720756078e73f3b15b4cafc202ec290e66f9095a3246c65a3cb
2018-10-10 18:56:40 +00:00
drh
7dd630a893
Fix an issue with the new memstat.c extension.
...
FossilOrigin-Name: ce6e80b1303ed161bec2c63735cd2e2bea7b4e9b4ff780d214d408b1a30d50da
2018-10-08 20:04:16 +00:00
drh
5f8cb730af
Replace the new geopoly_reverse() function with geopoly_ccw(). The
...
geopoly_ccw() function only reverses the vertex order if doing so is necessary
to get the correct right-hand winding rule on the polygon.
FossilOrigin-Name: 075066944b13b18d339ccf87ae16f0b91bf00f40bd70f71c6beba6aa6c43f0b6
2018-10-08 18:55:56 +00:00
drh
bc36320f02
Add the geopoly_reverse() function to the GeoPoly extension.
...
FossilOrigin-Name: 690dd18a5768c5a8cdfa92d5b01901c1a7b1fb6ebb90399f56a3112e41609f92
2018-10-08 12:58:59 +00:00
drh
488cddfa86
Fix the ".help -all" option in the command-line shell.
...
FossilOrigin-Name: aac8f1dff0728c629b5cbf30369ee91c5862a707ede694dc2628d1d4f5a6c202
2018-10-06 14:38:17 +00:00
dan
07052d5535
Add test cases and assert() statements to ensure that the authorizer is being
...
called as expected from within ALTER TABLE.
FossilOrigin-Name: ff10d2c7de430c88167b1e6e4f5307eee5d69e22c8d24b2ef4fcb3aea25a92e1
2018-10-06 13:46:22 +00:00
drh
bebf54438e
Changes to geopoly to silience false-positive warnings coming out of clang.
...
FossilOrigin-Name: 11d9015f31d1ea2fd27174d4ceea08a145fdbb92a175bec0aae4b90f991694bc
2018-10-05 15:10:00 +00:00
drh
f470c37a2b
Add an ALWAYS on an unreachable branch in the ALTER TABLE logic.
...
FossilOrigin-Name: ebcd4523171f0988ff08e2bf36fb8a0caa40efe7ac7556b4eb206784969b03e4
2018-10-03 18:05:36 +00:00
dan
60bdcf5e56
Change a type in shell.c.in from "int" to "sqlite3_int64" in order to
...
avoid a compiler warning and possible integer overflow.
FossilOrigin-Name: bf0a6634cd8f9457992b8da522a6775a304156815bf6f4f64f96016356baa870
2018-10-03 11:13:30 +00:00
drh
9b7e8e10f2
Add an additional assert() verifying mutex invariants on the
...
unixShmSystemLock() routine in the unix VFS.
FossilOrigin-Name: cb1511065d5348c5b3015dc9d690fc5d519a14ffdfa7164bb552a4fa686ad142
2018-10-02 20:16:41 +00:00
drh
8820c8d3ee
Additional field name changes and commit fixes associated with shared-memory
...
locking in the unix VFS, to improve maintainability. No logic changes.
FossilOrigin-Name: 9280774a4bbc665d70f346d258768cbcca3e0e77791473aecfd7d0e87810ab31
2018-10-02 19:58:08 +00:00
drh
24efa5444d
Fix comments and refactor some names associated with shared-memory locking
...
in the Unix VFS. No logical changes.
FossilOrigin-Name: 3e9f1635271c92dce5324728b4ee1cc1a1856ec3c60b1b512a652c21e010e63e
2018-10-02 19:36:40 +00:00
drh
ba160891de
Add the "PRAGMA table_xinfo" command that works like table_info but also
...
shows hidden columns in virtual tables and adds the "hidden" boolean column.
FossilOrigin-Name: defa0515b8fd50ed9be699542f8c6695dd4a60c02f310665db6657ec5b6b67d0
2018-10-01 21:41:15 +00:00
drh
bfbf7d9daa
Test case for PRAGMA table_xinfo.
...
FossilOrigin-Name: 7694b9bc3003db6ba0b41c5029c8f7b84c07724e7a518e835e98b3c46e4ea227
2018-10-01 21:36:38 +00:00
drh
bdc9744f60
Change the name of the pragma to PRAGMA table_xinfo. Improve the
...
mkpragmatab.tcl script to reuse column names where appropriate.
FossilOrigin-Name: 2fdd068987e59b979045d71ae64e700600ef07e54ae340f30c2064e5dcccb8ea
2018-10-01 21:26:30 +00:00
drh
d7dc0a36cc
Add the extra "hidden" column to the end of the PRAGMA table_vinfo output.
...
FossilOrigin-Name: cf1b76135f511530dcc7b82f78c952bf97ebcddb40be06f713f9f2326915fabe
2018-10-01 18:28:42 +00:00
dan
49f84ce1cd
Speed up xAccess() calls made on an RBU VFS when there are lots of open
...
connections.
FossilOrigin-Name: 310b4b65b8c8ee080760c7efb4c7e20244c6063a5dba37a4f40490105aafd29f
2018-10-01 17:33:35 +00:00
drh
5612ef1057
Bring the PRAGMA table_vinfo statement up to date with trunk.
...
FossilOrigin-Name: 6f606f99231f88ae5ff719d0ce21afc4b844490102c27ac20aa606baaf78d8d6
2018-10-01 17:15:17 +00:00
drh
44d068532e
Fix a potential crash that can occur while reading an index from a corrupt
...
database file. The corruption is a record-header-size that is larger than
0x7fffffff. Problem detected by OSSFuzz against GDAL and reported to us
(with a suggested fix) by Even Rouault. The test case is in TH3.
FossilOrigin-Name: 8ac2cdda68f92b0352bc7f0b4be5fca4bb58565ca65055fb34153cc284ed6922
2018-10-01 13:54:30 +00:00
dan
5351e884aa
Fix a problem with ALTER TABLE commands when the schema features an INSTEAD of
...
trigger that uses NEW.* or OLD.*.
FossilOrigin-Name: c52f457e56eb9d573eb67093731eb231aaf6fd6dbdc397e6f948b82736fbe3ab
2018-10-01 07:04:12 +00:00
drh
15fc988ce0
Add the PRAGMA table_vinfo command (with an extra "v" before "info") that
...
works like PRAGMA table_info (without the "v") except that it also shows
hidden columns on virtual tables.
FossilOrigin-Name: 8bcd1a59560aa7ea73e6529e5c14ece8ac09bf7e99efdcfd388fead39846b6bf
2018-09-29 19:38:42 +00:00
drh
ca9a5faf70
Fix test cases so that they work with ICU.
...
FossilOrigin-Name: d04b2013b5436430ebbf7053d637fd89c1b15affcb42787dcf1cf5ffc3ae54e2
2018-09-28 23:53:24 +00:00
dan
2dd93c8838
Merge latest trunk into this branch.
...
FossilOrigin-Name: 86750c927cb5ba36acad33d5279629699c42b598e70fdc4887b40a1a16771ff6
2018-09-28 20:58:10 +00:00
dan
f8248c42f9
Have sqlite3changegroup_output_strm() call its output function more regularly.
...
FossilOrigin-Name: 8467c31aa0bf24e597f680748460a99f425c49f5ab741c3574c339aa56857146
2018-09-28 20:46:41 +00:00
drh
09b523c99b
Fix a bug in the sqlite_memstat virtual table that was causing it to report
...
the amount of memory used as zero bytes.
FossilOrigin-Name: 8a758a872175b0c74e631c231240c5c733fbec708d0cff23eb9c4025e4a800ec
2018-09-28 18:51:18 +00:00
drh
60afcb80ee
Add the geopoly_regular(X,Y,R,N) function to the geopoly extension.
...
FossilOrigin-Name: 4505bbae58357eacab262b642b2a56d6dd380de72faceb5bbfd042eb94a12c06
2018-09-28 14:01:17 +00:00
drh
601c8f2829
Make most geopoly functions pure.
...
FossilOrigin-Name: 944e167a98e995c5750c1fcd44df857d6b10c1cbb91731fad2849415c42b2cfc
2018-09-28 13:18:24 +00:00
drh
b2d83494d3
Rig geopoly to use sqlite3AtoF() if it is available, as that routine is much
...
faster than atof().
FossilOrigin-Name: 470c6c07d0eb70806ac257c1c8ad877e041bbc14ff9a5c490edb51b2956ae726
2018-09-28 00:16:57 +00:00
drh
17e65ae4c0
Small performance optimization in the JSON parser of Geopoly.
...
FossilOrigin-Name: fb520e71035258d5490be33ee28575df2caefa5d5a301c8bbdf1471551c96282
2018-09-27 23:57:45 +00:00
drh
50db3e8d51
Enhance the GeoPOLY extension so that it always stores its polygons in the
...
binary format, which is faster and more compact.
FossilOrigin-Name: dc35f7b1754a78fa0d70c92754de07bb3c28d0d31cb929ee8a3a47ac4f3d446e
2018-09-27 20:37:52 +00:00
drh
09d00b2f4f
Ensure that the OP_VColumn opcode does set sqlite3_vtab_nochange() unless
...
the OPFLAG_NOCHNG bit is set in P5. Fix for ticket
[69d642332d25aa3b7315a6d385]
FossilOrigin-Name: 322ab1fc613f616e9f07dc94ef74a29572a21cc476d88e97b4ce865500a47b62
2018-09-27 20:20:01 +00:00
dan
0efb6f5135
Another minor tweak to memstat.c so that it may be built against older versions
...
of SQLite.
FossilOrigin-Name: 4c1fed60b9b35ac2f5d2f2533b54db429d72bdbc0aad0dd5af52ff851789d4ae
2018-09-27 17:33:06 +00:00
drh
6dd5f07d3d
Modify the memstat virtual table so that it works with SQLite version 3.9.2.
...
FossilOrigin-Name: 7171d8ae6b1e7c97b0cf06bcca2262674c9ce557c85666b4b77c16cbac508502
2018-09-27 17:15:21 +00:00
drh
982c1fac2b
Add the sqlite_memstat extension - an eponymous virtual table that shows
...
memory usages statistics for SQLite.
FossilOrigin-Name: 954ef61f6a02532e72c815208ec839310f1e00d69e0003cc6f5426f0559229d1
2018-09-27 17:03:03 +00:00
drh
d7134fe0c1
Enhancements to sqlite_memstat:
...
(1) Add an extra "schema" column to show the schema name for ZIPVFS stats.
(2) Only show ZIPVFS stats to schema that use ZIPVFS
(3) Put a NULL in unused columns of the output.
FossilOrigin-Name: 9351135b4331107be2f2bda7b6adbd5436381f4f9a68340e8a172b6517ec3f12
2018-09-27 16:57:42 +00:00
drh
7c5577acdc
Add initial ZIPVFS support for the "main" database to the sqlite_memstat
...
virtual table.
FossilOrigin-Name: 9cd27350b0f62debfe3238c57c3ab51079699142e82c05a7ec8460a8429f55f2
2018-09-27 15:45:03 +00:00
drh
d7fda6cfc5
Initial prototype of a eponymous virtual table that accesses sqlite3_status64()
...
and sqlite3_db_status().
FossilOrigin-Name: 0b44e1f68e0c8349367e3f929d4734c3df96338ec8d6fb652565bf894e8b8343
2018-09-27 15:21:13 +00:00
dan
6afa35c985
Disallow the use of window functions in the recursive part of a recursive CTE.
...
FossilOrigin-Name: 7fc2994434c7d9ed29c96a69c07e8eb4e97be776473c170c63f9a1bbaa09fa68
2018-09-27 12:14:15 +00:00
mistachkin
1c06b47864
Minor simplification: In OP_ParseSchema, read the p1 register once.
...
FossilOrigin-Name: bd250533a06e4a11c1f548c3de66b8562fc627383848570d7d030cf132fd336f
2018-09-27 00:04:31 +00:00
drh
eb7f2a0fc5
Further improvements to the ".help" command in the CLI.
...
FossilOrigin-Name: edc3d18ecbda32d6a55de76ee7335342425c57d917e9b48814a7301a012263b2
2018-09-26 18:02:32 +00:00
drh
98aa2abc45
Begin revamping the ".help" command in the command-line shell so that it
...
can accept an argument and will do a search for commands that match that
argument.
FossilOrigin-Name: 209afb8d06466536863b89a8acb9a1a18477a06331d8cce95fc6380e1666b6f5
2018-09-26 16:53:51 +00:00
dan
2e5e0e10f2
Tweak spellfix.c so that if SQLITE_SPELLFIX_5BYTE_MAPPINGS is defined at
...
compile time the Transliteration structure has space for 5 byte (instead of 4
byte) mappings.
FossilOrigin-Name: cbaf5b6c1b07b29b2c83fa01618de856d81cc1174769cb9770cb5c894cc87ace
2018-09-26 16:05:07 +00:00
drh
6b26a7b950
Fix typos in the header comment for the sha1 and sha3 hash extensions
...
in the ext/misc folder.
FossilOrigin-Name: 4ed9d83a0b14a22b3ecf25785b03b5a824d260e01a608aea85231df9b816421d
2018-09-26 03:43:42 +00:00
dan
6705584a5b
Fix a problem in releasetest.tcl causing configuration "Fast-One" to fail.
...
FossilOrigin-Name: 42e04fefbc241dd33f12abd66344a87720ae4cda6d82f2882217b3cb71be8733
2018-09-25 13:51:31 +00:00
drh
5398806889
Slightly smaller and faster alternative to [507d892c3a40a0bacbd47] that
...
fixes a problem with views that use window function as part of complex
expressions.
FossilOrigin-Name: d7c816ae15f05f21b9b213161e1044aaefc56f17e7bc4b7b551a9e04efc05855
2018-09-24 15:39:30 +00:00
dan
2fae150402
Fix a problem with views that use window functions as part of complex expressions.
...
FossilOrigin-Name: 507d892c3a40a0bacbd47ed3c4fe2d8925a82716ae08da8401750a42782ba454
2018-09-24 14:51:59 +00:00
drh
6314eeaeb3
Allow a writable virtual table to have a schema with an INTEGER PRIMARY KEY
...
and WITHOUT ROWID. This fixes ticket
[f25d5ceebe1d710ff61a571e395356869d8272ef].
FossilOrigin-Name: 5a38d9281b4ad63b853efa5cdd5ad4a64b19dfaf8250ef8e0e186684df1211ea
2018-09-24 14:10:55 +00:00
drh
6fb5d358a8
Use compile-time options SQLITE_QUERY_PLANNER_LIMIT and
...
SQLITE_QUERY_PLANNER_LIMIT_INCR to control the value for
WhereLoopBuilder.iPlanLimit, rather than embedding magic numbers in the
code.
FossilOrigin-Name: 903e501894b2a5dd7055b5154d74d4a47a619f76e66485a4d62b6259f10723d6
2018-09-24 12:37:01 +00:00
drh
7ebb605c0a
Increase the initial value of WhereLoopBuilder.iPlanLimit to 20K. Issue
...
a warning if the iPlanLimit reaches zero.
FossilOrigin-Name: 3dd35f51187574f47f860405309877cdbf9dc5710703dfd98cf98073b771140c
2018-09-24 10:47:33 +00:00
drh
f8937f9034
Fix a faulty assert() in the validation logic for the LEFT JOIN strength
...
reduction optimization. Problem found by OSSFuzz.
FossilOrigin-Name: 2fd62fccd13e326dbd7dd730112542c6faa56e466bf4f7b8e22ced543031280c
2018-09-23 02:01:42 +00:00
drh
2c3ba94969
Enhance WhereLoopBuilder.iPlanLimit to handle a case involving the OR
...
optimization discovered overnight by OSSFuzz.
FossilOrigin-Name: 7b59930a1d7b664b54d5a2bc9fa385925b5f4c8f34bf401c798307e3e2dae2c6
2018-09-22 15:05:32 +00:00
mistachkin
7cc5595a01
Fix harmless compiler warning when compiled with SQLITE_OMIT_AUTHORIZATION.
...
FossilOrigin-Name: 50f2fa19532e0f849d61d9e2a97427cfbf64cfb787ca481ef8c860d0f24f6cfe
2018-09-21 23:41:18 +00:00
drh
5eaebf3a63
Comment typo fixed. No code changes.
...
FossilOrigin-Name: 7e68cdab20f50cf776b92b2138bb4aba7cb070f2bd855dd4cbbf46d447f2dc88
2018-09-21 19:06:09 +00:00
drh
fc9098a45e
Put a limit counter on the query planner that restricts the number of
...
index+constraint options that can be considered for each table in a join.
This prevents certain pathological queries from taking up too much time
in the query planner.
FossilOrigin-Name: 8690b5a0cc08eeb175230de45d4ca9b9f7b9b22aeebea70b8b7151f10b130969
2018-09-21 18:43:51 +00:00
drh
0d7f0ccd96
Optimization to the OP_MakeRecord opcode makes speed-check.sh run about
...
1.1 million cycles faster, and results in a slightly smaller library.
FossilOrigin-Name: d10e63629183f6daf0c263cd4dae052a3786c8c1480b3b6a73124b3315e41951
2018-09-21 13:07:14 +00:00
drh
5db90714aa
Minor code simplification.
...
FossilOrigin-Name: 22ae8a52dd2fb744f467c7dccf1d7fe7c7cef0e1dcc897dd492f897e84c9facb
2018-09-20 20:43:28 +00:00
drh
42eb070729
Add the "PRAGMA legacy_alter_table=ON" command to enable the pre-3.25.0
...
behavior of ALTER TABLE that does not modify the bodies of triggers or
views or the WHERE clause of a partial index. Enable the legacy behavior
by default when running the xRename method of virtual tables.
FossilOrigin-Name: 7edd26ed27ed1e7eab603058f7d55f2eac45e7bd1908bfa5f32293611883b157
2018-09-20 20:15:02 +00:00
drh
eda079cd2c
Combine the Expr.pTab and Expr.pWin fields into a union named "y". Add a new
...
EP_WinFunc property that is only true if Expr.y.pWin is a valid pointer.
This reduces the size of the Expr object by 8 bytes, reduces the overall
amount of code, and shaves over 1 million cycles off of the speed test.
FossilOrigin-Name: ad130bb86e74e6ce165fdbdce3a19699510f0e62071c1c7923b5a4538d888c7c
2018-09-20 19:02:15 +00:00
dan
34566c4434
By default, make all "ALTER TABLE RENAME" statements executed within a virtual
...
table xRename() method exhibit the legacy behaviour.
FossilOrigin-Name: 71947337e98b90debb13b390119bc2a6b39dd41535151b836071ee327a31e45d
2018-09-20 17:21:21 +00:00
dan
674b894269
Add a PRAGMA that restores the legacy ALTER TABLE RENAME TO behaviour.
...
FossilOrigin-Name: 5acad2e92c11c209bedc6ac8a709595e8070eed028ffc82af61499e5ceaa5e2b
2018-09-20 08:28:01 +00:00
drh
504eba5f46
A minor code simplification, saved in a branch for future reference.
...
FossilOrigin-Name: 5e458f4a92743effb9a3d3249767424fed8b444a05ca136c4a55d60c4d70c2cc
2018-09-19 18:17:46 +00:00
dan
85c6892aa4
Fix a compilation issue in the "userauth" extension. Also fix a few test
...
script errors that occur with SQLITE_USER_AUTHENTICATION=1 builds.
FossilOrigin-Name: 221f3f572ed49d7af69a2e7c88741fa5206ea33ca59ee791eac7698bdd11ca4d
2018-09-19 17:09:09 +00:00
drh
c6727c8342
Fix the "sqlite3" command in the TCL interface so that it correctly returns
...
an error if invoked with no arguments.
FossilOrigin-Name: 2034fa8089676132b5e2f71bdebf1af9ca141da2e173920c6e84fb974ab0f022
2018-09-19 15:08:21 +00:00
dan
16f39b6e5d
Fix a problem building on Android with SQLITE_ENABLE_BATCH_ATOMIC_WRITE set.
...
FossilOrigin-Name: e41e50fe7430cb79f67369fe81ac9938665bfc5db59c4faaf429ceb8ca03f584
2018-09-18 19:40:18 +00:00
dan
c4b1e5e758
Avoid incrementing the SQLITE_LOOKASIDE_MISS_SIZE stat before sqlite3_open()
...
returns. Fix test script problem in lookaside.test.
FossilOrigin-Name: e461cb281959d8517296e3e4e934eba8206770b1a592cd7655b6567268da1634
2018-09-18 17:50:34 +00:00
dan
253c6ee1bf
Enhance tester.tcl so that when "--malloctrace=1" is specified, the test
...
generates self-contained Tcl scripts that present GUIs instead of *.sql files
that require a separate program to interpret.
FossilOrigin-Name: de2e3cbd08c00d235106c040fa472ec267ef8f1ec13c34ed7d16deac8d50b6cc
2018-09-18 17:00:06 +00:00
dan
b1e1a0fd2d
Minor improvements to the permutations.test script. Most notably, a command
...
like "permutations.test alter%" now runs all test scripts with names that
match the LIKE pattern "alter%". Or, say, "permutations wal alter%" to run all
alter% tests in wal mode.
FossilOrigin-Name: 3e1a2f6614eacb65e1dffe64c6292c809fc5808be2d9d7d103cfc57d7b32fcd9
2018-09-18 16:06:42 +00:00
drh
40b4e7a692
Further optimizations to the UPDATE logic to avoid making changes to partial
...
indexes if none of the columns mentioned in the WHERE clause are modified by
the UPDATE.
FossilOrigin-Name: d1365a5bf0ee2f145427b81d2a593f539c3ad4705d579478703c1f65ae5f80bf
2018-09-17 20:47:38 +00:00
drh
d4cb09e3d2
Disable the ORDER BY LIMIT optimization in queries using window functions.
...
This fixes a problem that was introduced by check-in [206720129ed2fa8875a286]
which attempted to fix ticket [9936b2fa443fec03ff25f9]. This changes is
a fix for the follow-in tocket [510cde277783b5fb5de628].
FossilOrigin-Name: c6c9585f294710829ca24b64d70a36fd9f409261dd0661367c6c4198cdbc4c81
2018-09-17 15:19:13 +00:00
drh
051a1022ff
Fix a false-positive in the post-ALTER-TABLE schema verification logic that
...
prevents ALTER TABLE from working if the table being altered has a trigger
that references any column of a virtual table. Ticket [b41031ea2b537237].
FossilOrigin-Name: 84105ea4af98bd8bddbdf9dc6674bdf73c110c0685afe868ce9681da110144d7
2018-09-17 14:13:48 +00:00
drh
e597c47545
Restore an assert() that was present on trunk.
...
FossilOrigin-Name: a7b572ca7867a95f49888dc95c0dc6d726afa9fea26283be147ba422639d1307
2018-09-17 13:55:18 +00:00
dan
de79e094bc
Minor modification to the fix on this branch to avoid adding extra conditional
...
compilation macros.
FossilOrigin-Name: 4d8be404dab265b51e5a6a95e83be85c22512e19a437191690c7d845c87ff259
2018-09-17 13:38:45 +00:00
mistachkin
746127e734
Fix missing space in 'configure.ac' reported on the mailing list.
...
FossilOrigin-Name: 96b00a3cd2273dd3baa8e5b7a441458b142d4d2daabc679e4fcb5ab706674e76
2018-09-17 12:49:21 +00:00
dan
0208337c16
Add extra test for the fix on this branch. Also fix a
...
pointer-compare-after-free problem that occurs in similar cases.
FossilOrigin-Name: 1856ea63b3186c2c8fa716ffe01c731397bdbbc3fbb56dc72ad0686cb7f152ca
2018-09-17 08:27:23 +00:00
drh
e68fe9665a
Add assert()s to the new code in the previous check-in.
...
FossilOrigin-Name: b12f23a5c484cab3654721299ea0f05230eef6b14012b557f3bf2592fac0f00e
2018-09-17 00:15:21 +00:00
drh
95f78d98b9
First proposed fix for the ALTER TABLE problem described by ticket
...
[b41031ea2b5372378cb3d2d]
FossilOrigin-Name: 05a9d129254e01a5f6b5e4033c105190eae386575a94b020ef3e0cbd30bbf056
2018-09-16 23:27:37 +00:00
drh
86f3492650
Remove an unreachable branch from the index-on-expression optimization.
...
FossilOrigin-Name: 2df2cf4f179dd88fb2530dfd338f344ac48dd052ef954dc95a136884523f7aee
2018-09-16 18:23:48 +00:00
drh
6557a07ca8
Fix a memory leak in the explain extension.
...
FossilOrigin-Name: d0c92b047a5355726aea87f38038e5bda3adf6137492919be94bd29bb847eddb
2018-09-16 16:34:31 +00:00
drh
9b84f03556
Add the new "explain" virtual table in ext/misc. Use this virtual table
...
for additional test cases for the optimization that avoids updating indexes
on expressions when none of the columns changed by the UPDATE are in the
expression.
FossilOrigin-Name: 2404304cc15eaeee2744cf3c8f9cac0a544631c4f1060c5a17a78b43ca86edf0
2018-09-16 16:18:01 +00:00
drh
2b7cdf6f6b
Improved presentation on the new code that prevents unnecessary writes to
...
expressions on indexes during an UPDATE when the expression does not reference
any of the columns that are changing.
FossilOrigin-Name: c9f045295c4577752b0847ff2027b44661e6cb15bb08b942ccb3a0ef396f3dec
2018-09-16 15:01:25 +00:00
drh
6a9afa918b
Increase the version number to 3.26.0 as we start the next development cycle.
...
FossilOrigin-Name: 885f0f8252aae776a86c64bcc7da582f0ed58f2caae8ebff810a83ca339da820
2018-09-15 21:43:14 +00:00
drh
e9816d82a7
Optimization: when doing an UPDATE on a table with indexes on an expression,
...
do not update the expression indexes if they do not refer to any of the
columns of the table being updated.
FossilOrigin-Name: a71b101635ed28a4c99734dabb20bd65ef1018c1d63ac143b7321cdb0fafa5d7
2018-09-15 21:38:48 +00:00
dan
fccd5d43a9
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: 6a00a34e198408d69d638a25763f64b8a5beec61a60affb4d344426a2e232d72
2018-07-12 19:28:43 +00:00
dan
eb30704cc9
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: e9a3e8642e7acc8e63b35662ffae3a5a0da8d4f1ecefcb1db3110be19cbdab2b
2018-07-10 15:45:54 +00:00
drh
0c1fa5c8c6
Merge changes from trunk, including all the 3.24.0 changes plus some
...
later enhancements.
FossilOrigin-Name: d7299bfeb1eb031d6106b46139715047fe759d27b34b617ca43f2cd377b8188e
2018-06-06 17:03:53 +00:00
dan
4921c159bd
Merge latest trunk changes with this branch.
...
FossilOrigin-Name: ae86cf60b6648a7ec789e233c9b0cc826efbbb0f301140b4848dc84d691ccd4f
2018-05-15 11:45:47 +00:00
dan
b7ee5667c2
Instead of just the flags byte, include the first 8 bytes of the relevant page
...
in an on-commit conflict log message.
FossilOrigin-Name: e7dc03e7439f224e4bec458f27fe364f2fb1ac637328657a578ada693ae22842
2018-05-15 11:28:36 +00:00
dan
bfbe2b8c80
Include the value of the "flags" byte of the relevant page in the log message
...
emitted when a BEGIN CONCURRENT commit conflict is detected.
FossilOrigin-Name: fbfa547177ac7d57dcb0775d761a7f92fc1f2263cd83e2843cd109139a8c5121
2018-05-15 08:51:05 +00:00
dan
4af5f425f2
Merge latest changes from trunk. Including the "ORDER BY ... LIMIT"
...
optimization.
FossilOrigin-Name: d8ae7ba083551f05b963f13c5164ff60257c7b615cd48d675027cb6289b463da
2018-04-26 17:54:11 +00:00
dan
51abf049c7
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: b27bd799ea66748b89223044c536813d56d0aa513f077499cbf8ed9c974d7b01
2018-04-24 19:21:38 +00:00
drh
cdbf6d01a4
Remove debugging puts from concurrrent3.test.
...
FossilOrigin-Name: 13b4975681f249831a22562d1c26958f841ea77ca779858b0bee735dd30b710e
2018-03-20 13:54:22 +00:00
drh
3a5fc00808
Merge all recent enhancements from trunk.
...
FossilOrigin-Name: b0c2f760a637ee973f4dcc27308eec44950e6d0a9c5ab5c828c1210c1f868efa
2018-03-20 13:52:42 +00:00
dan
908803f5e0
Update this branch with recent checkpoint related changes from trunk.
...
FossilOrigin-Name: fb6b7938601505186c0b1f0df6c45630039027f85ff394d290bc2c86b16a3a07
2018-03-02 17:59:37 +00:00
dan
699bd8121e
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: 36801effa9ec67b551f58972e21794466420f10cd0420701fcd87695e6cd11ee
2018-03-02 17:40:23 +00:00
drh
cb0267185c
Abort on an invalid paramater to sqlite3BitvecSet().
...
FossilOrigin-Name: 163c870950f386f6b0bb1ff9b3886cf95ba0deed414cae75baf87621ed3528c2
2017-12-11 14:02:10 +00:00
dan
165ba4a2a5
Merge changes from trunk. This fixes the SQLITE_ENABLE_UPDATE_DELETE_LIMIT functionality so that it works with views and WITHOUT ROWID tables.
...
FossilOrigin-Name: d90e5f346bcf7adab26ca8dad9dfbd0fbb86604a15f2fe827f11b3faab036750
2017-11-14 20:06:15 +00:00
dan
8706485d1a
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: 7f217edab4575554f657d38e2a1bc6b3f577998fdbecb04eb200aeb8b8406581
2017-11-06 20:02:08 +00:00
dan
c0f69fcec7
Allow "BEGIN CONCURRENT" transactions to modify the temp schema.
...
FossilOrigin-Name: 0fb6d91cea347384fc081ce4c79582b365801dd4f56f5bf2ed40922bbfca0344
2017-11-06 10:04:45 +00:00
dan
6cbf8e173f
Add new extension "bgckpt" in ext/misc/bgckpt.c. For experimenting with
...
running wal2 mode checkpoints in a background thread.
FossilOrigin-Name: 63955442304052f5adddd05ccaeebe87ddc5e25af695702793518f015b4f0a87
2017-10-10 20:11:10 +00:00
dan
2df2b3d05f
Merge latest trunk changes with this branch.
...
FossilOrigin-Name: d218d815f89cb1368fdb5e3f774b7adaaf02560a367ba0f3e54987e08dd6241a
2017-10-09 19:50:09 +00:00
dan
40927fd61e
Add a header comment to wal.c describing the differences between wal and wal2
...
mode.
FossilOrigin-Name: 9c80cd202f1c966929b279e18f19c663912686fcf92f03b85a02b9c7e55a0fc6
2017-10-09 19:49:08 +00:00
dan
50182fa846
Ignore the *-wal2 file if the *-wal file is zero bytes in size.
...
FossilOrigin-Name: f7360fad51f224f347bb7d263eb89056b27461c278309e00e575a0e8898c9f40
2017-10-07 19:55:37 +00:00
dan
5d122d308f
Check in test file wal2simple.test.
...
FossilOrigin-Name: 8932b2f1d7e6a26221ea3dea01000832b2d1eb17ac0b70ef6028f9286ae450a3
2017-10-07 13:37:04 +00:00
dan
288e98fb4b
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: 7e43517861d4ecfa86766a16a2c721377b75da78771d5ba18870dcb9626a8dce
2017-10-06 14:25:25 +00:00
dan
bfcf8d6d67
Fix a bug in recovering wal2 mode databases introduced by the previous commit.
...
FossilOrigin-Name: 9e1502e1b650217efc361732a3dfe686caa2e6352d040c73865f1faf09bf4591
2017-10-06 14:08:39 +00:00
dan
24f1b25c7b
Fix frame overwriting in wal2 mode.
...
FossilOrigin-Name: a4b02bc9388226da21b3837a20c6c7eb0d13854dde62b7136e04f4978528dc71
2017-10-06 13:43:42 +00:00
dan
3400e78f38
Fix test case failures on this branch.
...
FossilOrigin-Name: 16decc13af908087fb8aa34eeccf43e8da1b8f2e4b808028986d1ef08134c72c
2017-10-05 18:14:46 +00:00
dan
055cc1e431
Add experimental mode that uses two wal files. Activated using "PRAGMA
...
journal_mode = wal2".
FossilOrigin-Name: e2fc5c814cf6862d536aacb9eca66ecd31ba7e3e3033fa4c5564d533f4a18dfc
2017-10-04 20:57:14 +00:00
dan
7393c7424e
Cherrypick [ec37ad6d08] into this branch. With this patch, if
...
SQLITE_SHARED_MAPPING is defined at build-time SQLite will use a single memory
mapping for multiple connections to the same database file within a single
process.
FossilOrigin-Name: c7a5880d6d898299b4c9414b7702cfa450aa5f7bf4ec8f417b94d2a7b6558264
2017-09-22 11:09:09 +00:00
dan
3eba5d00b6
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: 307b802e8627c93a51e4c54851a4fab33db5061bb80e3d327ce53b127d6d511b
2017-09-22 10:49:03 +00:00
drh
b25057c291
Merge recent enhancements from trunk.
...
FossilOrigin-Name: d53108e76307fb24ef1d8f75fe82c180f5588ad8e65eeceace92f4cecadfa452
2017-08-28 17:19:35 +00:00
dan
9c54156a9c
Test BEGIN CONCURRENT transactions that consist entirely of read-only
...
statements.
FossilOrigin-Name: c3fe1f4b7e8dcadcb516622719d000b808effe3ad497244ba44f57d52dc2cc08
2017-08-24 10:10:28 +00:00
dan
d828d0debc
Add a more rigorous test case for the bug fixed by the previous commit on this
...
branch.
FossilOrigin-Name: 4256072399f44f48ed0856aa8112226af6feaf8676923612bde6cea239ebf920
2017-08-12 14:06:15 +00:00
dan
6aab028db0
Fix a problem allowing a conflicting transaction to be committed in the case
...
where more than one 32KB shared-memory page has been written to since the
transaction was started.
FossilOrigin-Name: 38dd9b50fe260d853cbc2551bc1bb60ddf5752f0456e0da3afe4cbf728c891d8
2017-08-11 21:16:23 +00:00
drh
9f16a96d4b
Add another PAGERTRACE() macro to show when pages are added to Pager.pAllRead.
...
No impact on production builds.
FossilOrigin-Name: 11054cf5e8c24ef9ca869d558a0ca6750b56103c3b3793dc4afcef75192ea943
2017-08-11 20:22:30 +00:00
drh
741802e825
Add a PAGERTRACE() macro to log when frames are written into the WAL file.
...
This is for analysis only and is a no-op for production builds.
FossilOrigin-Name: 39f39e3d9a083eebe2f8dd5812d20c5b07cc17607b04b573a52fde6d00666f36
2017-08-11 19:31:53 +00:00
drh
fd80ce4b10
Merge the latest enhancements from trunk.
...
FossilOrigin-Name: 47e716952d4a5d893b75726a2c52202cb0bc8ce1f75131e920a3ac2e202a507e
2017-08-11 19:16:55 +00:00
drh
9ee9b0f4c3
Merge recent enhancements from trunk.
...
FossilOrigin-Name: aafe1fec803ddf207bbcb3c669da0a9639411375fc04a52066dde4eb99c3c11b
2017-08-01 13:54:55 +00:00
drh
c5856def1e
Minor fix to the concurrent.test module so that it works on windows.
...
FossilOrigin-Name: 58553d61d199477f88ea9b45055ddaf821eca2aff1bf67c7d81fa80b23c2575a
2017-07-20 19:28:49 +00:00
drh
0a2afca904
Fix compiler warnings.
...
FossilOrigin-Name: 44c760d150b494ddd88382360cfcc4734fec936ed620f88b9df33ea7215c2fc2
2017-07-20 19:08:35 +00:00
drh
1af0a4e1df
Fix a faulty #ifdef on the previous check-in
...
FossilOrigin-Name: 7355e74239fc20f3d948867902675069e6a4efd103bf734f1b24a132f6d2edd1
2017-07-20 18:56:21 +00:00
drh
7365bcd72c
Get the build working with SQLITE_OMIT_CONCURRENT.
...
FossilOrigin-Name: a29401e924e6f82ca1c3eec98c6c0b2f1d5b9d7fba9af41a78516f21a7bab3a2
2017-07-20 18:28:33 +00:00
drh
1c6276eac6
Merge all the latest trunk enhancements.
...
FossilOrigin-Name: 213c61cb82d4ee51cc638fc5bb2b54cd51b963c40d088b2f01caf77032ea32fb
2017-07-20 17:47:12 +00:00
dan
827c9b785e
Remove sqlite3_log() and abort() calls added to this branch to debug the
...
pointer-map problem ([fda22108]).
FossilOrigin-Name: 79544fc2856f30cac8b0962d00698974e8918562f09769a68264d17e1e1176fe
2017-06-10 17:23:20 +00:00
dan
4956bd5f9a
Update the recent auto-vacuum fix so that it works for the in-memory
...
pointer-map structure used by this branch.
FossilOrigin-Name: 8e311a6dba202e8733830d8f31b8f0ce11eaefb3a0ab5e5e95ac0d2e5136043b
2017-06-08 16:23:55 +00:00
dan
63624a0ab8
Merge 3.19.3 changes with this branch.
...
FossilOrigin-Name: e2d38d51a9cf1c3dfef742507ec76e3d35853bd09b0d09bf2d404c4b036a184d
2017-06-08 16:10:41 +00:00
dan
dc1bf28ad4
Merge changes for version 3.19.0 with this branch.
...
FossilOrigin-Name: 0f59bb94d5e8e16a47c53ef0d6138a35c87230ad384b58008e8e7127780446d8
2017-06-08 15:54:02 +00:00
drh
d6396e9b16
Version 3.19.3
...
FossilOrigin-Name: 0ee482a1e0eae22e08edc8978c9733a96603d4509645f348ebf55b579e89636b
2017-06-08 14:26:16 +00:00
drh
d4d01a689d
Fix an issue with OPT_FEATURE_FLAGS in configure.ac.
...
FossilOrigin-Name: 97b5c4a53d0af3792c5ae5ceafdb02245f841c2bd4d79bcfd0ffdf6c5ff27c9e
2017-06-08 11:32:19 +00:00
drh
a096fcc73c
Increase the version number to 3.19.3.
...
FossilOrigin-Name: 903fff53b3f02cbc011c4cd47d841f45a447746fdf3bcb01202e27c3f2b57589
2017-06-08 11:27:05 +00:00
drh
50179f91f3
Ensure pointer map entries are always added when a row that does use overflow
...
pages replaces one that does not in an auto-vacuum database. Fix for
[fda22108].
FossilOrigin-Name: 9478106ca963e3ae5cfe59da40301c5a0a07494d03e656b5eb10ab45e441b870
2017-06-08 11:26:13 +00:00
dan
35dcd0e892
Extend even further the logging designed to find problems in the pointer-map
...
structure. Call abort() to dump a core as soon as such a problem is seen.
FossilOrigin-Name: f131677dcb4937e0dd62626afa91756aa28079e92acd6e9e127f6f676aa334f9
2017-06-02 09:31:27 +00:00
dan
7f002db7e3
Generate extra log messages in response to irregularites in the pointer-map
...
used by "BEGIN CONCURRENT" transactions.
FossilOrigin-Name: f7e3e2bc88f110d9282ce5d2fa58580c585faeb57cb707253f05001e5f4bd91b
2017-05-31 17:06:13 +00:00
dan
995b2457e2
Instead of a root page number, log the object (table or index) name if a page
...
level locking conflict is detected.
FossilOrigin-Name: 9ad846e57bd427adc7c29768cabca18905f7f978168e0642a5917d894fda8bfd
2017-05-29 19:23:56 +00:00
dan
7fff2e1cb9
Enhance the log messages emitted when a page conflict is detected.
...
FossilOrigin-Name: 92618492b048867af38922825f3d094eaaa2dd919b1ed2f7372483cc53f892bf
2017-05-29 14:27:37 +00:00
dan
e3b047b3d7
Adjust the bitvec related sqlite3_log messages added by [9527089b].
...
FossilOrigin-Name: a7e0e7a4835314a04e065839a7f88b074eda795da2b2da5741b2afc096421a32
2017-05-26 18:18:51 +00:00
dan
7037787d30
Add extra test cases for deferred page allocation.
...
FossilOrigin-Name: 9df0195780306a26709e87daabf9d426856aebf2082060b98818f2d48c7472ec
2017-05-26 16:51:15 +00:00
dan
606f718480
Fix a problem with deferred page allocation in transactions that revert page
...
allocations by savepoint rollbacks.
FossilOrigin-Name: a4a3bbe64690856403642352f36e664a5a7fba686463a63446c6ada99df4e89f
2017-05-26 16:15:05 +00:00
dan
e3c3be8511
Fix a problem with the deferred page allocation on this branch that could
...
occur when the database file is just slightly smaller than the PENDING_BYTE
page offset.
FossilOrigin-Name: 47a7dd92355ffd74645cf8da8186d5799c05a95907877a09c28de41135deeede
2017-05-25 21:02:00 +00:00
dan
aa59505ae8
Add experimental new API sqlite3_wal_info().
...
FossilOrigin-Name: 5b9d498f6e9de6ee2ab86370c02c28a2a8b83d717b96d23b1fc52107677e45a2
2017-05-23 19:23:45 +00:00
dan
55b36d5c07
Invoke sqlite3_log() in response to irregularities surrounding the
...
Pager.pAllRead bit-vector.
FossilOrigin-Name: 9527089b7aa3695cd577f31b263b4777e9bd62dbbc1bd3af892c570e52e8c3a1
2017-05-19 19:57:15 +00:00
dan
6dbb452b38
Fix a problem on this branch causing some page-level read-locks to be omitted.
...
FossilOrigin-Name: 0eed152162b4721f7aaba8b480426476978a869e9578f100fca7b1d32942fe1a
2017-05-18 20:47:31 +00:00
drh
2ecf1ec8c9
Merge the latest changes from trunk.
...
FossilOrigin-Name: 14ea84003600ada6f4605e47028cb72fe621a14bcce3637ad48b1512dcce41cd
2017-05-15 17:34:23 +00:00
drh
9a89254e7a
Merge changes from the 3.18.0 release.
...
FossilOrigin-Name: 785c37d9dbdba9f3deedecbdd72f6761428ebfb58e9b9393b9ca4feab3f66f02
2017-03-30 20:35:30 +00:00
drh
fe329a7370
Version 3.18.0 Release Candidate
...
FossilOrigin-Name: 424a0d380332858ee55bdebc4af3789f74e70a2b3ba1cf29d84b9b4bcf3e2e37
2017-03-28 18:48:43 +00:00
drh
4d55d35df6
Merge all recent enhancements from trunk.
...
FossilOrigin-Name: fd5676fe7f55b3d4fa15ca119af7c064c6f9d053affdfd5e748785e300affbeb
2017-03-24 15:09:47 +00:00
dan
246e1d8faf
Merge the "changebatch" functionality into this branch.
...
FossilOrigin-Name: 50fb1eb368f14e4ddce2da875601c227f9f937fd
2017-01-09 07:00:41 +00:00
dan
0195d8ef5d
Disable the optimization from [8cb8516d] (omit TableLock instructions for
...
non-sharable databases) on this branch. This branch uses the TableLock
instructions to ensure that the db schema is not written from within a BEGIN
CONCURRENT transaction.
FossilOrigin-Name: c8ca3e0a8d82dbb077551c2d952cb2043f78333b
2017-01-09 06:53:00 +00:00
dan
e32c7c2b64
Upgrade this branch to 3.16 plus the various fixes that appeared after its
...
release.
FossilOrigin-Name: d0e212d08f82dfb5e42a156b3e2bb03dd8e21258
2017-01-09 06:33:50 +00:00
dan
0ba9725489
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: 391344d88a284f92c59b8d96a315b69292641de0
2016-12-07 07:46:50 +00:00
dan
ff8e42e2ca
Add the sqlite3changebatch_db() API.
...
FossilOrigin-Name: bee44ebc532f37e3fe61c18878e0d3db06805190
2016-08-24 19:14:59 +00:00
dan
a8dee8df64
Add further tests for changebatch. And a fix to prevent a changeset from conflicting with itself.
...
FossilOrigin-Name: 506d6ff4b64c72d4ca65f0d15e1fdf8a132556bc
2016-08-23 19:02:21 +00:00
drh
7d931b985a
Fix harmless compiler warnings in changebatch.
...
FossilOrigin-Name: a721a738184d914fcde3f5684099984a9373dff3
2016-08-23 18:09:37 +00:00
dan
8bbf544747
Add a new method to sessions - sqlite3sessions_fullchangeset() - to return a changeset that always contains values for all old.* fields. Update changebatch to use these values to more reliably detect multi-column UNIQUE constraint violations.
...
FossilOrigin-Name: efa761b2f509844b9212dd20bf0d082c6338e83f
2016-08-23 17:02:28 +00:00
dan
a7d16a5cd1
Add a couple of extra tests to changebatch1.test.
...
FossilOrigin-Name: 207d970b7956c38af42c389b91a741a68b2c4eec
2016-08-22 21:01:39 +00:00
dan
c18d304066
Add an experimental module to detect conflicts between sessions changesets.
...
FossilOrigin-Name: 0c9fd6b723041955b5182caa430312e5124fdc83
2016-08-22 20:49:06 +00:00
drh
3d4ad18cbe
Merge version 3.14 plus some subsequent patches (including the page-cache
...
performance patch) from trunk.
FossilOrigin-Name: d9f8918c5b7b6c8540b3f433142e1b4aa4433885
2016-08-11 19:12:25 +00:00
dan
21ac1de75b
Fix a typo in test program bc_test1.c.
...
FossilOrigin-Name: 2c61b7ab1808d5576a21fea84c3f414db51abfa5
2016-07-06 08:32:53 +00:00
dan
96b9dc9b36
Minor tweaks to the bc_test1 test program.
...
FossilOrigin-Name: d0d0bab4e92402b6af98366be6e8955588613a51
2016-05-30 05:45:32 +00:00
dan
adeb47e57b
Add further instrumentation to the bc_test1.c test app.
...
FossilOrigin-Name: 5528de4a53c19557798b6169e1d738f1a301e131
2016-05-26 20:52:15 +00:00
dan
12891cc492
Use pthreads mutexes and conditions to synchronize threads in bc_test1.
...
FossilOrigin-Name: f33aa76f074d8686a5a5c0edecabb71cb259c48d
2016-05-21 18:50:56 +00:00
dan
820fc4933b
Add options to bc_test1.c to make it more flexible.
...
FossilOrigin-Name: ec6ef5f2c2dc18e1a19c205f365f4071f0870b68
2016-05-07 18:02:53 +00:00
dan
b00083429a
Add test/bc_test1.c, for testing the degree of concurrency provided by this branch under various conditions.
...
FossilOrigin-Name: 128c7eaed5479b615d75ebce1d781ea661e0fb2d
2016-05-06 21:04:47 +00:00
drh
b0b18f6dca
Merge the latest enhancements from trunk.
...
FossilOrigin-Name: 91e5c07eaf884d3598df8eb54f0910a80df48397
2016-04-29 16:01:18 +00:00
drh
76cb74da4d
Merge all recent enhancements from trunk.
...
FossilOrigin-Name: 1f709fbf931e4d75848fc90532e2bc67ccd47cd4
2016-04-20 12:16:05 +00:00
drh
db454d72b6
Merge 3.12.0 changes.
...
FossilOrigin-Name: d7381efff47c0a2f307478f196d03df7534f19e3
2016-03-29 10:36:07 +00:00
drh
99b14894eb
Merge all recent changes from trunk.
...
FossilOrigin-Name: 8ee7d346c1d9beedd02bf11d0a45810985a45480
2016-03-21 15:54:46 +00:00
drh
03206c433c
Merge the latest enhancements from trunk.
...
FossilOrigin-Name: a7978ab6d26b865f55c6b3e86ba3a24777a3c1f0
2016-03-16 19:34:45 +00:00
drh
93f88ebbb1
Merge version 3.11.0
...
FossilOrigin-Name: c393ddc71a041a711f8eaa6fbd75371309df5602
2016-02-15 17:44:45 +00:00
drh
faf010d77a
Merge PRAGMA synchronous=EXTRA and OOM performance enhancements from trunk.
...
FossilOrigin-Name: 332c8036ca8a97087ced210e322c8a91be2a9036
2016-02-05 14:34:51 +00:00
drh
7c9ecc62c5
Merge recent enhancements from trunk.
...
FossilOrigin-Name: 347f6a80c2aa6dde9b58d28069156db22cd21b6d
2016-02-02 02:53:49 +00:00
drh
04b9cf1e7e
Merge recent enhancements from trunk.
...
FossilOrigin-Name: 5520f600eade720f465575ab1661dcddaba5adcf
2016-01-20 12:18:31 +00:00
dan
f687ba597f
Merge the latest enhancements and fixes from trunk.
...
FossilOrigin-Name: fccc5f20c360fa17c3692a9f1fc1d16612632a7f
2016-01-14 15:46:31 +00:00
drh
76ff0699bb
Merge changes for version 3.10.0.
...
FossilOrigin-Name: e1d2ffc06d47b550ca9447a71443dea08b98d1ad
2016-01-06 15:49:19 +00:00
drh
607d4c2184
Merge recent trunk enhancements.
...
FossilOrigin-Name: 6bea792c3d71be34ccb9c14a0df8a5244d2d3678
2016-01-01 14:14:55 +00:00
drh
8c9ea487d0
Merge recent enhancements from trunk.
...
FossilOrigin-Name: cb22efaf50d83d9a73fdf8d986e6ea2fc6500cfb
2015-12-16 19:55:57 +00:00
drh
1d9497a0d0
Merge recent enhancements from trunk.
...
FossilOrigin-Name: 9130661a786e4c158f15103be57467a5cc03875a
2015-12-02 20:53:14 +00:00
drh
31441fb50b
Merge all the latest enhancements and fixes from trunk.
...
FossilOrigin-Name: 41c8b8e39bc0483cfbc0b4bfcc8ef8b2737a70a9
2015-11-20 13:49:01 +00:00
drh
f12cc2a68c
Merge the sqlite3_db_cacheflush() enhancements and other changes from trunk.
...
FossilOrigin-Name: f2cde4cfc58cc372f59ae274bf0c2f7cf6e7ddf9
2015-10-30 17:17:12 +00:00
drh
cd9491ca2f
Merge the 3.9.1 updates from trunk.
...
FossilOrigin-Name: bf866e6c0d95d48744c86ff0c0be9b2653629a18
2015-10-16 20:55:12 +00:00
drh
e8a1ea6d8b
Merge in the 3.9.0 changes from trunk.
...
FossilOrigin-Name: 5c3a2a6ed64f4d0e10238720bc2e4ae3af3eded3
2015-10-15 07:44:58 +00:00
drh
0faad42d59
Merge all recent trunk enhancements and fixes into the begin-concurrent branch.
...
FossilOrigin-Name: c63c1e15f8cc8981aa4dbec82d510ed70cd09797
2015-09-24 15:17:54 +00:00
drh
411547ec6c
Merge enhancements from trunk.
...
FossilOrigin-Name: fc4d1de8aeb39a4c0ea9275a0bd2447535f1a955
2015-09-15 19:16:47 +00:00
drh
9a5a469c7a
Merge parser enhancements and other improvements and bug fixes from trunk.
...
FossilOrigin-Name: 9cf3e51bcce1268dbb22cc8fa77160db3cb72746
2015-09-07 20:22:22 +00:00
drh
573ebef187
Merge the latest trunk changes, and especially the fix for allowing
...
strings as identifiers in CREATE INDEX statements.
FossilOrigin-Name: a9b84885aa572b7f92e5aafa246af328d13e3e6e
2015-09-04 17:22:03 +00:00
drh
144cd3df05
Remove the EXCLUSIVE and CONCURRENT tokens from the tokenizer. Let the
...
BEGIN statement be followed by an ID, but throw a syntax error if the ID
is anything other than EXCLUSIVE or CONCURRENT.
FossilOrigin-Name: c0bf92eca4d3d4666e8a0476ef30fa8123de1cb0
2015-09-04 16:39:16 +00:00
drh
3561ec2ede
Merge performance enhancements from trunk. This branch now runs (slightly)
...
faster than the 3.8.11.1 release, though still slightly slower than trunk.
FossilOrigin-Name: c490bfb150c66763226a35e30ba289abbf29906d
2015-09-03 20:52:44 +00:00
drh
01be463eeb
Changes from ENABLE_CONCURRENT (default off) to OMIT_CONCURRENT (default on).
...
This is not a clear-cut decision and might be changed back.
FossilOrigin-Name: f8ae9bfd05abc35293ad6bc62ab1bdbe357d964e
2015-09-03 15:17:12 +00:00
drh
a62b6bd93c
Merge trunk optimizations.
...
FossilOrigin-Name: 71e7299e8d501618b10f8c1f78572789b1b6853a
2015-09-03 14:04:05 +00:00
drh
f56af5ee2d
Merge the latest trunk enhancements.
...
FossilOrigin-Name: 3dea047465fa8e3031046a33016b6ed760336ddc
2015-09-01 18:01:16 +00:00
drh
3f531da564
Fixes so that it builds without warnings both with and without
...
SQLITE_ENABLE_CONCURRENT.
FossilOrigin-Name: 5ed2a445a164f0f0c2669c6681ea76618e639961
2015-09-01 17:48:54 +00:00
dan
7b8996c878
Merge latest trunk changes with this branch.
...
FossilOrigin-Name: 57bc0194f41dbcd2c343e665e7af475cd4dd7328
2015-08-28 09:27:51 +00:00
dan
c8a9d15887
Add header comments for new methods in pager.c.
...
FossilOrigin-Name: 437c7e219d3240767a28f73487bc26c3be3044b3
2015-08-27 19:57:16 +00:00
dan
6b3e51bd33
Add test cases for concurrent transactions and long-lived SELECT statements.
...
FossilOrigin-Name: fd4798cb7af263409c20d3cf81236b830bd68570
2015-08-27 19:22:56 +00:00
dan
987f821f79
Fix a problem whereby concurrent transactions would not consider pages read by the transaction before the first write statement.
...
FossilOrigin-Name: fc17f73170a27c2fe511ed6b6d488535c4e35bae
2015-08-27 17:42:38 +00:00
dan
f6cf5ea790
Fix an assert() in pager.c that could fail in a concurrent transaction.
...
FossilOrigin-Name: 69394ddaa2bc9d26477b4359c676c598b733ac9f
2015-08-26 18:54:45 +00:00
dan
de36c76a23
Fix a problem allowing some conflicting transactions to be committed.
...
FossilOrigin-Name: a0566382d564ca17fd13475a44fed8f714742d97
2015-08-26 18:02:20 +00:00
dan
fef3410f7f
Add miscellaneous test cases for concurrent transactions.
...
FossilOrigin-Name: 779b1d0e17bc54062b2b09cdbf94e9e2f4bae4f7
2015-08-25 19:10:29 +00:00
dan
57888f7300
If "PRAGMA integrity_check" is run while the database is being written by a CONCURRENT transaction, do not consider unreferenced pages to be an error. They may be part of the free-page list, which is not visible at the b-tree layer when running a CONCURRENT transaction.
...
FossilOrigin-Name: f32b57b49311693eb0c0c9f6f14859e7b1fa93d8
2015-08-25 17:16:33 +00:00
dan
4073b26a20
Test that if a corrupt wal-index header is encountered when attempting to commit a concurrent transaction, SQLITE_BUSY_SNAPSHOT is returned to the caller.
...
FossilOrigin-Name: c746e0bd20cb136eed2b691f326657d266e2f1ed
2015-08-25 16:01:04 +00:00
dan
ac0a42233a
Fix a segfault that could occur following an OOM condition in the concurrent transaction code.
...
FossilOrigin-Name: 231b5880228cf01efe3981bc8be3150d79b422e5
2015-08-25 14:37:39 +00:00
dan
3c40ed4281
Merge latest trunk changes with this branch.
...
FossilOrigin-Name: 3e7d6dd62dfa63d7def00bd00ac055a606a0c80d
2015-08-25 11:16:02 +00:00
mistachkin
0cd4f69c0c
Remove duplicated line of code.
...
FossilOrigin-Name: 47280f2a2b7cc83bf11ab86284204f565c278c55
2015-08-24 22:06:02 +00:00
dan
bf3cf57e15
Change "BEGIN UNLOCKED" to "BEGIN CONCURRENT".
...
FossilOrigin-Name: ba1ab858e2997c88dd7eee6e6893a8616d85c665
2015-08-24 19:56:04 +00:00
dan
f5e89dba9d
Fix handling of attempts to modify the database schema, application_id or user_version within an UNLOCKED transaction.
...
FossilOrigin-Name: 5b9f272113d21fd606903509d6f830fe60fac039
2015-08-24 19:08:10 +00:00
dan
0408529b48
Fix compilation without SQLITE_ENABLE_UNLOCKED. Also other code organization issues.
...
FossilOrigin-Name: 041135575417201bbcf0544cc69dcb7369c7fb34
2015-08-24 16:00:08 +00:00
dan
5cf03728a6
Consolidate two blocks of similar code in btreeFixUnlocked().
...
FossilOrigin-Name: 701302b4bd62ca7aefe643eac096a0ee672a62fa
2015-08-24 10:05:03 +00:00
dan
8b994f29a5
Merge trunk changes with this branch.
...
FossilOrigin-Name: 876810c28b3ad573ae46050ec699ef7eea4e313d
2015-08-24 06:44:17 +00:00
dan
654a965367
Fix another problem involving unlocked transactions and wal-file restarts.
...
FossilOrigin-Name: 4460764ea8fc948fe02f0a09476857839b3aa1ae
2015-08-24 06:43:25 +00:00
dan
0c52b373a0
Fix a problem to do with detecting unlocked transaction conflicts if another client restarts the wal while the transaction is running.
...
FossilOrigin-Name: e3968b256282d8c0a87c26667b1ba02faf7a5a17
2015-08-22 20:32:39 +00:00
dan
f5cebf71fe
Add further tests for deferred page allocation. And fixes for the same.
...
FossilOrigin-Name: ed0a31be726e60115a5dd73d4ed580201b400ab7
2015-08-22 17:28:55 +00:00
dan
c299a11c02
Merge further trunk changes.
...
FossilOrigin-Name: c2327a3b8e5d604ab948b1e9f6cfc401429e51db
2015-08-22 07:56:49 +00:00
dan
8c5847a257
Merge trunk changes into this branch.
...
FossilOrigin-Name: 9021f7369f4b32db6126b3dc0ac75d11039625be
2015-08-22 07:55:08 +00:00
dan
b87b25f219
Fix many minor issues in the unlocked transaction code.
...
FossilOrigin-Name: 53aaeea6c98f82f3b55d4b3ab139ee41b727243c
2015-08-21 20:11:23 +00:00
dan
572a21c8e9
When committing an UNLOCKED transaction, try to move pages allocated at the end of the file to free slots within the file (like an incremental-vacuum operation does).
...
FossilOrigin-Name: 069679162d8d50e9731831e658aa58f280dbb3e7
2015-08-21 18:55:22 +00:00
dan
70af25d03d
Fix a problem with UNLOCKED transactions that free pages allocated within the same transaction.
...
FossilOrigin-Name: 227bb8a1815c4dc6084970f06b0a6bfccdff3fd2
2015-08-21 17:57:16 +00:00
dan
cec0beebb3
Merge trunk changes with this branch.
...
FossilOrigin-Name: deaf3b18569025d8d168da29fae76142cfffe9e5
2015-08-21 16:22:04 +00:00
dan
64b310ed1a
Add extra tests and a fix for rollbacks of UNLOCKED transactions.
...
FossilOrigin-Name: 82cd837e72ed4cf5821be717369694be29a2997e
2015-08-21 14:21:22 +00:00
dan
699bdf056b
Fix a problem causing corruption when an UNLOCKED transaction is rolled back.
...
FossilOrigin-Name: 7c36147846484c96023939864417b5624f3bc5f8
2015-08-20 20:25:56 +00:00
dan
7b3d71e9cc
When committing an unlocked transaction, relocate newly allocated database pages within the file to avoid conflicting with committed transactions. There are lots of things still to fix in this code.
...
FossilOrigin-Name: 3bbc31d515ba9fc920c5cbc7059d3eb1ba9c7f8e
2015-08-19 20:27:05 +00:00
dan
1a9cde3ba9
Handle writes to auto-vacuum databases within UNLOCKED transactions in the same way as for non-UNLOCKED transactions.
...
FossilOrigin-Name: de1ea450db33b140b11af5b801ea6a15875e774e
2015-08-15 18:16:46 +00:00
dan
773d2d6c09
Only allow UNLOCKED transactions to commit if none of the pages read by the transaction have been modified since it was opened.
...
FossilOrigin-Name: 0b9718426e44df092850c5d095ce1b84a1e567cf
2015-07-29 12:14:28 +00:00
dan
37d36205f3
Add some test cases and fix some small problems with BEGIN UNLOCKED transactions.
...
FossilOrigin-Name: 6da0e962ad2aa5e52c1f1b5c3dbf77a2cb16ac2d
2015-07-28 16:46:49 +00:00
dan
3d39434c36
Add an experimental "BEGIN UNLOCKED" command.
...
FossilOrigin-Name: 8079421604dbd40d03471dad6d12115119b554c2
2015-07-27 19:31:45 +00:00