drh
eb80863cbf
Fix an incorrect comment on a test case for rowid renumbering in VACUUM.
...
FossilOrigin-Name: 0d293fb43f2eb64026ac1e0422f54d4839b101898cc9913fc7746760c08ed41f
2019-04-04 14:36:02 +00:00
drh
4e61e88348
Only preserve rowid values for VACUUM INTO. Keep the legacy behavior of
...
renumbering rowids for ordinary VACUUM.
FossilOrigin-Name: 13a0ea6466b051ea5281865ed5285b8b5a99ec4307f400c5f7b03692723f1cd1
2019-04-04 14:00:23 +00:00
drh
b92d7d264e
Add a defense-in-depth NEVER() test to the WAL cleanup code.
...
FossilOrigin-Name: 8d3af2010f4f652865f5c0d18e3bc793de05f8e75e75cc77786f61004b2ad28f
2019-04-03 17:48:10 +00:00
dan
3f49c321e8
Fix a couple of problems with "RANGE BETWEEN <expr> PRECEDING AND <expr> PRECEDING" frames.
...
FossilOrigin-Name: 39225cc77579896214dceb93b7f224b4b3bc95b3505a2e19b41b0b18b184fbc4
2019-04-03 16:27:44 +00:00
drh
0f134f0267
Small optimizations to the grammar for window functions save about 120 bytes
...
of space in the parser tables.
FossilOrigin-Name: bce01d9584e52b23d7c07c2e832d5fa5d6e6235711c856b903a296725f61ed6e
2019-04-02 18:12:20 +00:00
drh
94809086e5
Use a separate bit on db->dbOptFlags to disable the xInverse optimization on
...
window functions, rather than reusing the query-flattener disable bit.
FossilOrigin-Name: bc0fb1c324be2fd668bc4398c7d364b7e3c5a98537fe5fb58a125b66f3e6d041
2019-04-02 17:45:56 +00:00
drh
3de52e8fa0
Including the phrase EXCLUDE NO OTHERS in the frame-spec of a window function
...
(which is the default setting for EXCLUDE) silently disables the xInverse
optimization. This is a feature, but we will keep it undocumented for now
in case we later decide it is a bad idea.
FossilOrigin-Name: 10aedce3dd2c0c9f0ee9e0aefd0b4d2c2eb17c4ca72003c4db9768ea5cdafcf4
2019-04-02 17:45:01 +00:00
drh
3fda0aaf00
Put the list of keywords in mkkeywordhash.c into alphabetical order.
...
FossilOrigin-Name: ac98b23b34632fbc654a34a8b3d842ce65603e4c04d89c589b46f4d48a61152d
2019-04-02 13:10:50 +00:00
drh
860d2b08c6
Make sure the MEM_FromBind bit inthe Mem.flags field is not included in
...
the MEM_TypeMask. This critical changes was omitted from the previous two
check-ins by mistake, and so those check-ins are not fully functional.
FossilOrigin-Name: f7ba2daf91c96ba16958188d6084a0ff129310d348932de493d326f1d24679cd
2019-04-02 00:56:20 +00:00
drh
e8975ac9e1
Add new APIs to the extension loading mechanism.
...
FossilOrigin-Name: 6f122faf8a34b986e58ba4622cff918c6d133d6f91d4b723b50bd086d5bed8e1
2019-04-02 00:48:29 +00:00
drh
29ddbbbf36
Add the sqlite3_value_frombind() interface. Use that interface to
...
improve fts3_tokenizer().
FossilOrigin-Name: b3f2c3205a28dc21ea7080e5e1ba246ce9c9b90c1309262ca11d8e40943ed677
2019-04-02 00:28:54 +00:00
drh
e0f20b46fb
Performance improvement on the OP_Variable opcode.
...
FossilOrigin-Name: 1dc7993bb6957587a6c63142e97b8e4137c3d81bbfd724f86048e0894bcb429b
2019-04-01 20:57:11 +00:00
drh
d6db6598ca
Improvements to the sqlite3ExprImpliesNonNullRow() theorem prover.
...
FossilOrigin-Name: 3fde627616030ca0de87169467e2e453fdc91154942e3a3a92a221df5923b2d2
2019-04-01 19:42:42 +00:00
dan
afb3f3c72c
Add a test case to cover a missed VDBE branch generated by window.c.
...
FossilOrigin-Name: b36813d6467c82159bd3bb69d34ac28fc161a13052ca67d7cf9ad75e2aaea9d5
2019-04-01 18:43:09 +00:00
dan
1d07f1d8c7
If the library is built with SQLITE_VDBE_COVERAGE defined, have the Tcl tests generate a vdbe coverage report in file testdir/vdbe_coverage.txt.
...
FossilOrigin-Name: f0ed714637bf30443d0551d9b6fececa00fc9dfe9669fe720c4598ef71c61e2c
2019-04-01 17:24:20 +00:00
drh
495ed62e85
Frame range comparisons can never be NULL because the values will have
...
been checked for NULL prior to the test.
FossilOrigin-Name: fa37cf9a6aa3e4325674cb6af68f617d25e349c3f694d0117a19a36fc42daf15
2019-04-01 16:23:21 +00:00
drh
83c5bb997a
Mark rowid-comparison opcodes as never-null for VDBE coverage tracking
...
purposes.
FossilOrigin-Name: a69bb4f257500e40ef4056d5628ef25266def5bcef07eebdb471a79fffe80237
2019-04-01 15:55:38 +00:00
drh
21826f44bf
Improved VDBE branch coverage in the run-time frame-spec error detection
...
logic of window functions.
FossilOrigin-Name: f56d305a7bad6608d51d8c8cef417ddb66cff50f0a75d28554ea669e47f3d90d
2019-04-01 14:30:30 +00:00
drh
c906533650
Improved comments on the VDBE branch coverage testing logic. Fix the
...
VDBE branch coverage measurement on the OP_MustBeInt opcode.
FossilOrigin-Name: 8681750e855a020ee374cb9f973f701a72068e33f97d0101a4fab3a228e5ebda
2019-04-01 14:01:21 +00:00
drh
6cbbcd8ad6
Fix a defect in the VDBE branch coverage testing logic.
...
FossilOrigin-Name: 1fcf3307d37f0e8e0c8c54491c609b73c7add6eaa38409a41c7cd6614a877a19
2019-04-01 13:06:19 +00:00
mistachkin
4e2d3d40dc
Fix harmless compiler warnings seen with MSVC.
...
FossilOrigin-Name: 6cf8b18ec20f11c25ff7396f29c742404d3a88d5e97a5fd53ccfaff51dec3f33
2019-04-01 03:07:21 +00:00
drh
8fe25c64f1
Early detection of too many columns in an index avoid a possible 16-bit
...
signed integer overflow.
FossilOrigin-Name: 8af0caeb6d1e55f66ad2f12af94845dccfe1d0420faf326f5917fc07f8aa6050
2019-03-31 21:09:33 +00:00
drh
ce5752cd1f
Add some missing VdbeCoverage() macros.
...
FossilOrigin-Name: d03b611302f68483770d49b113b4ed685ba03526d2007647c306f8ec7ae697d2
2019-03-31 18:17:00 +00:00
drh
3fc6042992
Improvements to VdbeCoverage macros.
...
FossilOrigin-Name: 10ee9e337e5f8a846dc827f6deb07930a790ac9d290b62f73de59454e465d5a1
2019-03-30 20:43:40 +00:00
drh
6f88359df6
Fix issues with the previous check-in and add more VDBE branch coverage
...
testing macros.
FossilOrigin-Name: b5f72f10f2dfdbee9fe98c63ffb933e841203790746a920b99df14ca5c14127c
2019-03-30 20:37:04 +00:00
drh
bf00f6d7ec
Enhanced VdbeCoverage() macros in the new windows function code.
...
FossilOrigin-Name: f24066f8dd847dfb656f26c4a8142e7fb6a412ffe325aea6254cb122cfbb3e1c
2019-03-30 20:10:11 +00:00
drh
b336d1ab83
Add a call to sqlite3FaultSim(410) inside of btreeRestoreCursorPosition()
...
to simplify testing of error scenarios.
FossilOrigin-Name: bb643bac535ac7d5fb4c13edb8782cd13540bbc7d2b2deb689f4ca8d1914f422
2019-03-30 19:17:35 +00:00
drh
119e1ffc5e
The defragmentPage() routine detects corruption in the first-free-slot fields
...
at offset 1 in the header and throws an error, rather than asserting.
FossilOrigin-Name: fb125bd338ab32b33d02fe61b76497b6d4a2a160056d6e759e15c94903e61a41
2019-03-30 18:39:13 +00:00
drh
2c794b15a0
Add the blobio.c extension module implementing readblob() and writeblob().
...
Experimental.
FossilOrigin-Name: e3fde56da46e9592143b8beeee5eba4d74b8ef67edb7bf73a85edd2e0f7a8d21
2019-03-30 17:30:50 +00:00
dan
0708054570
Add an extra IO-error test to windowfault.test.
...
FossilOrigin-Name: 5b8c44cd39c529e8adbc51f67088409e963515b988868856120a59e6c7160210
2019-03-30 17:07:23 +00:00
drh
7678fdc33d
Change the fts3_tokenizer() function to always return the pointer as a BLOB
...
as long as the first argument is a bound parameter, regardless of the
SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER setting.
FossilOrigin-Name: 27160df7b3a04ac59d06013ede1d2ee27a4ace86a525ecc333bf7f8b5c580afb
2019-03-29 17:26:44 +00:00
drh
038ebf6875
Remove the unused P5 flag from the OP_Rewind opcode.
...
FossilOrigin-Name: c2edbf3b8c643edcd5823eb907fd7531cf5be8a8b6a014fa1b123eb0ea3231cf
2019-03-29 15:21:22 +00:00
dan
3580843595
Fix a fairly obscure problem causing the planner to sometimes choose sub-optimal plans for a query with a single virtual table in the FROM clause, and at least one IN(...) constraint in the WHERE clause.
...
FossilOrigin-Name: f5752517f590b37bfc0267650f5800320e22a8ecaba34aa6893281ce8d268026
2019-03-29 13:17:50 +00:00
drh
a920b209ff
Fix typos in the comments of the sessions extension, one of which affects
...
the generated documentation. No code changes.
FossilOrigin-Name: 040d5d515bcb37bea05e0d156dbaf066c68052ac574f1b0b2cb118d473a353e0
2019-03-29 11:48:10 +00:00
drh
5155b75be2
The two-argument version of fts3_tokenizer() works regardless of the
...
value of SQLITE_DBCONFIG_ENABLE_FT3_TOKENIZER as long as the second
argument is a bind parameter.
FossilOrigin-Name: ab76e3a90e56bd36a17ded9c7a77e88632ca12d3bd73f197df747a634c81e0cf
2019-03-29 11:39:41 +00:00
drh
57b1a3e303
Initial implementation of the sqlite3_value_frombind() interface.
...
FossilOrigin-Name: 98da62dfdacc6b3c490c387d1f8a74cc5daa978776967e264ad4800c380b0ddf
2019-03-29 11:13:37 +00:00
drh
d137f4e6e5
Recover a some of the performance lost by window function alias fix two
...
check-ins back.
FossilOrigin-Name: 965cbcea117835d2c6d2ec58c8025b227f491c35805e282cb31228436bc6bec1
2019-03-29 01:15:11 +00:00
drh
f72a97925d
Add new test cases to test/fuzzdata8.db
...
FossilOrigin-Name: f908cd40b275a5753d5167ebb25871300381687adcb3a7fcb1f14b57a20ee3d0
2019-03-28 20:50:41 +00:00
dan
4ded26a53c
Prevent aliases of window functions expressions from being used as arguments to aggregate or other window functions.
...
FossilOrigin-Name: 1e16d3e8fc60d39ca3899759ff15d355fdd7d3e23b325d8d2b0f954e11ce8dce
2019-03-28 16:15:05 +00:00
drh
6f1644c0f9
Show the pointer address for Window objects in the TreeView display.
...
FossilOrigin-Name: 1ae70ad2ffd36c27b154940126c5e3ed00c05c0d8761d9320a65a03b1b4e4dc6
2019-03-28 13:53:12 +00:00
drh
0dc0e9c2af
More improvements to TreeView output for Window objects:
...
(1) Show when the frame-spec is implied rather than explicit.
(2) Move the FILTER clause out from within the OVER clause, making it
a sibling of the OVER clause, to match syntax.
FossilOrigin-Name: d6a07433421ac9a475ff0014587f0beefdf88ce89aef9443f8a20cd26083731f
2019-03-28 13:35:28 +00:00
drh
fc15f4c528
Improved TreeView display of Window objects.
...
Change the Window.eType field to Window.eFrmType to avoid confusion with
other "eType" values.
FossilOrigin-Name: ec2f207dedb223077bbd3e4584499250eb12219712c917e930acccfa2c46e23b
2019-03-28 13:03:41 +00:00
drh
a2b6806b3e
If the string formatter in sqlite3NestedParse() fails due to an over-length
...
string, make sure this error is recorded by the parser so that it knows to
fail.
FossilOrigin-Name: 85e53ff13300132250221de769a2aa7d92d81bb48d60f6e99000bc69a5b1e6fb
2019-03-28 04:03:17 +00:00
drh
40f827a65e
Improvements to the README.md file. No code changes.
...
FossilOrigin-Name: bbdbaf84a52937ccf877072a8b01b07f7b9c037c59ba54df72ca888d5404cbad
2019-03-28 01:00:37 +00:00
mistachkin
61ad5513e0
Support building the Tcl bindings DLL using MSVC.
...
FossilOrigin-Name: b2011c13173114505705d2ff2ba6f476697d51aca0bddd585a9e5a639dca41e2
2019-03-27 14:59:56 +00:00
mistachkin
ba9ee09598
Fix harmless compiler warnings seen with MSVC.
...
FossilOrigin-Name: 5be64ea8e33f632f9c337feac9b0663d8e6e59fc9a71e5d832d9fd905c06458e
2019-03-27 14:58:18 +00:00
dan
725b1cfc53
Fix a problem with window frames that use "BETWEEN <start> AND 0 PRECEDING".
...
FossilOrigin-Name: 7927b6b023502e990d23f30251b5b0918b547726b863bfb6747dcd7f1f71d19a
2019-03-26 16:47:17 +00:00
drh
d4a591dd6b
Fix harmless compiler warnings.
...
FossilOrigin-Name: a063f7c426d1ac066bf05cc03288f49b1c92e06a8cb2bc271cce9bd3022a74ea
2019-03-26 16:21:11 +00:00
dan
b60c3b01cc
Add support for new window functions related features - GROUPS frames, RANGE frames with logical start and end points, the EXCLUDE clause and window chaining.
...
FossilOrigin-Name: c6da39115d3e2b0fd3a03c4bcae8ee8b05a6bbd6b11f8c54712fbff6387f610d
2019-03-26 13:08:34 +00:00
drh
1cb0263bcd
Fix an obsolete comment in the CLI. No code changes.
...
FossilOrigin-Name: fade103cbac1b067f9544935b767f36dc266aceb3269cc84a3ae3b04ad9a4823
2019-03-25 22:05:22 +00:00
drh
65c29fd3eb
In the CLI, code the "sqlite_parameters" name directly rather than using a
...
macro, for clarity of presentation for users who are reading the code for
the purpose of seeing how the CLI implements parameter binding.
FossilOrigin-Name: e775ef002dd33e6bcbeec8d4b6ad7f59749e35548c7a59c9fa3bcfdc5cc50730
2019-03-25 21:56:26 +00:00
drh
ccf6e7d0f0
Remove a test from the index build logic which is no longer needed and is
...
in fact unreachable.
FossilOrigin-Name: 9b20ee10ff86c1f79706180310e02b6f78863e02b179062d8966573ae33a252f
2019-03-25 21:55:44 +00:00
drh
346f4e264a
Change the name of the parameter table in the CLI to "sqlite_parameters".
...
Doing so involves adding SQLITE_DBCONFIG_WRITABLE_SCHEMA and allowing the
creation of tables whose names begin with "sqlite_" and that are indexed
while writable_schema is on.
FossilOrigin-Name: 24ef3844692debc2db7b1d427f5dcf4050481a8c7f71c3b516766b819ecab587
2019-03-25 21:35:41 +00:00
drh
58b42ad131
Earlier detection of corruption while added to the freelist.
...
FossilOrigin-Name: 8c80b004cae71aaf820a31dba80c100ed162ef5bae845fb4535ff4d3be407500
2019-03-25 19:50:19 +00:00
drh
1c960269dd
Fix a faulty assert() statement in balance_nonroot() - the assert() should use
...
get2byteNotZero() instead of get2byte() for the corner case where the
number cells is zero on a 65536-byte page.
FossilOrigin-Name: bcbe7d96df3c9515f679ccf671ca9ba89d081b53501495d4218eb5126196838b
2019-03-25 18:44:08 +00:00
drh
af5a2e166d
Improvements to the help text in the CLI.
...
FossilOrigin-Name: 919fec91dac4cb0d5f67404d4f47a65f353d752f5da0aa7b071bf3caf19e0522
2019-03-25 15:09:19 +00:00
drh
e7476115ad
Fix the writefile() SQL function implemented by ext/misc/fileio.c such that
...
any directories created have standard umask permissions, not permissions
of the file that is to be written.
FossilOrigin-Name: f11c89595dc65f89be6df62830c8cddd3933acfd4baaecd348ecd99e71db5831
2019-03-25 15:06:16 +00:00
drh
b17ea91230
For the ".archive --update" command in the CLI, only update files if their
...
mtime or mode has changed. To force an update, use the new --insert instead.
FossilOrigin-Name: 191a023ae708490eca61b3a42a3df41bb6709079f3905881abb82ebd46182607
2019-03-25 14:24:19 +00:00
mistachkin
21a3b3191e
Support Tcl libraries with a suffix.
...
FossilOrigin-Name: 8d0153996a3685a9b109a01fea0cba76e4296b010e96fc0db43fa6fde54d1965
2019-03-23 00:38:52 +00:00
mistachkin
b1b808b92d
Further enhancements and fixes.
...
FossilOrigin-Name: c9f1972e10b0cdb5e351a776a64c60acf404dcfbe2a8a28c0a273bbe851e677f
2019-03-22 22:34:16 +00:00
mistachkin
57494adcc5
Attempt to detect when the MSVC linker requires the /MACHINE argument.
...
FossilOrigin-Name: 3e355846217785c30f518d31a5541172c4213c0d8559c3f8638a047cd745c98e
2019-03-22 16:52:17 +00:00
dan
781b7ac3f6
Fix a problem with a window function in a correlated sub-query where at least one reference to the outer SELECT appears in a FROM clause sub-select.
...
FossilOrigin-Name: 9aca86f98388ff66b2bccb3fbfc486a3931398d2a8da139f905826ae2cdbb205
2019-03-22 13:56:49 +00:00
drh
ed26483346
We learn that readdir_r() is deprecated in favor of plain old readdir(), which
...
is now suppose to be threadsafe using thread-local storage. So remove the
use of readdir_r() from the test code. (SQLite itself never calls readdir()
or readdir_r()).
FossilOrigin-Name: 7a0a26ed380dd0bdda50b0204b30b53bbbbc70f278eba02f91541ac6c691aef2
2019-03-22 13:53:25 +00:00
drh
fb5567123f
Add the --limit N option to dbfuzz2. Set the default callback limit to 250K.
...
FossilOrigin-Name: b99f8512c06b9d47e48b028781265512ce8b812ae4e6af0a7139a093cf9a8f74
2019-03-22 11:38:14 +00:00
mistachkin
7ac2ee0a74
Sync up the autoconf makefile for MSVC.
...
FossilOrigin-Name: ecbae90aef63ed6d07d474416900db36ff6dd9c2ed1bbb5f4d883b6838156be1
2019-03-22 01:26:39 +00:00
mistachkin
e2bcbb4048
Support building the Tcl bindings DLL using MSVC.
...
FossilOrigin-Name: 908c4c891fa7472b43d232bde7d3789105c5f5b2cfaf6652bf6d5829236933cf
2019-03-22 01:25:16 +00:00
dan
dcc427cf19
Add an extra test for database corruption to defragmentPage().
...
FossilOrigin-Name: 80e951fce3e5aaa224c8dba6449832d2efabcdc24e86eb6b7833f85cf08ecc00
2019-03-21 21:18:36 +00:00
dan
c7694a6d1d
Remove assert() statements based on the counter-factual proposition that 0 is not a valid cursor number.
...
FossilOrigin-Name: c7b336181aac6785a515f275c0f50ad4bf2dee20abde959b56d968a7fdce3e5b
2019-03-21 13:51:09 +00:00
drh
87c889cfa5
In the CLI, give better error messages if something goes wrong
...
with the ".dbinfo" command.
FossilOrigin-Name: 3649a77b79001ea6c5defe882f9934521b20b9d36aab26d03b5d42006c7fa228
2019-03-20 18:22:51 +00:00
dan
2381f6d7e5
Fix a potential dangling pointer deference in an ALTER TABLE run on a schema that contains constructs of the form "PRIMARY KEY(column COLLATE collation)".
...
FossilOrigin-Name: b9e2393cf201e3fc24519c5ae65d0a5953147d78884e53d44a7958747b4a7e13
2019-03-20 16:58:21 +00:00
drh
ff119f04b4
Fix harmless compiler warnings from MSVC.
...
FossilOrigin-Name: f0f02d46e40667d0fc31c57eb26d459ce2f3a3c222c767fa371100b36e5335d1
2019-03-20 12:08:27 +00:00
drh
e41fd72acc
Enhance the rtreenode() function of rtree (used for testing) so that it
...
uses the newer sqlite3_str object for better performance and improved
error reporting.
FossilOrigin-Name: 90acdbfce9c088582d5165589f7eac462b00062bbfffacdcc786eb9cf3ea5377
2019-03-20 11:16:09 +00:00
mistachkin
065f3bf4f2
Fix various harmless compiler warnings seen with MSVC.
...
FossilOrigin-Name: 1c0fe5b5763fe5cbace9773dcdab742e126d0bd035ab13d61f9d134afa0afc0c
2019-03-20 05:45:03 +00:00
drh
d0f820a7e6
Enhance the VACUUM INTO command so that it works on read-only databases.
...
FossilOrigin-Name: 55be6d0a9fa8a64b9c9c5ed51a2b9144304f7f0870a13b92d5864ac4d54491b6
2019-03-19 20:42:42 +00:00
drh
f3e90dd276
Fix a compiler warning in FTS5.
...
FossilOrigin-Name: d5acf3af65f9608d4096b9b78289d84b21cd1ea463457f858ffeb20d5bd5d123
2019-03-19 20:13:41 +00:00
dan
78694ea307
Add further tests to window8.test.
...
FossilOrigin-Name: ec7e224f50271a69a28074270b01328ec0ee38751fcb93b2c598d8be2b77a95d
2019-03-19 19:39:42 +00:00
dan
6603342f12
Fix a problem with EXCLUDE clauses on window frames with no ORDER BY.
...
FossilOrigin-Name: e0255063799a2a8531f0eaa8790334509591a5ababc5b915035b46d2faa80363
2019-03-19 19:19:53 +00:00
dan
8eff0cc326
Add tests to ensure that the window functions implementation is not generating code for unnecessary sorts.
...
FossilOrigin-Name: e195948a6876efe01b5cf2ed67bc9015a781fda39dca668099cb7edc1d331818
2019-03-19 17:45:31 +00:00
dan
1d4b25fa50
Add missing VdbeCoverage() macros to new code in window.c.
...
FossilOrigin-Name: 4f9b93e6cfa0b3b6ab8a126299c2b2a242f840453dc450e84d3df87576cf6cf8
2019-03-19 16:49:15 +00:00
drh
f012dc4eb9
When computing the amount of scratch memory needed during a rebalance operation,
...
assume the worst case for the number of cells per page, rather than relying
on the BtPage.nCell value, which might be incorrect for a corrupt database.
FossilOrigin-Name: a420ebd08f5a96b9e61a37cb42e1b3f346c23505630d9c33fe30ce7882959b36
2019-03-19 15:36:46 +00:00
dan
e5166e070a
Revert the OP_MustBeInt opcode implementation on this branch so that it again matches trunk. The extra functionality is no longer required.
...
FossilOrigin-Name: c02f77b1b4d025d4243f883d6f3a2b3abcaf4944e0209f641b62c576415343dc
2019-03-19 11:56:39 +00:00
dan
b1dd3db537
Tweak the tool/cg_anno.tcl script so that it can run on systems without /usr/bin/tclsh.
...
FossilOrigin-Name: a026189aa46114d2de4f1da5882aeef9cf446a5aa6ea068d51c27df0d7302ddb
2019-03-19 11:35:18 +00:00
dan
d430c2eb46
Update this branch with latest trunk changes.
...
FossilOrigin-Name: 98cc26598718e5557ee00aa77336024c91e483ec6de650e172ad1b44a6f0a77b
2019-03-19 11:17:28 +00:00
drh
713836f913
Add a LICENSE.md, containing the text of the blessing.
...
FossilOrigin-Name: cbb7e60272cda518fa1bd8d3e3cd02e031b657fef92a9d4d7ed8c2bfb97be7c8
2019-03-19 09:57:52 +00:00
dan
ced89124d8
Ensure that all the new window-function keywords can still be used as SQL identifiers.
...
FossilOrigin-Name: a6d61dfd4780eccfce5f7a5ead6c04e3b78bc4a461551fd7dd602550e0d51084
2019-03-19 06:40:29 +00:00
dan
0525b6f47f
Add further tests for new window function functionality.
...
FossilOrigin-Name: 1fbddf01b1c3fff95b05e2f2f709754e2b514296060b4846518791e7161d9ddb
2019-03-18 21:19:40 +00:00
dan
108e6b2c87
Always evaluate window functions using the alternative path usually only used by EXCLUDE frames if the SQLITE_QueryFlattener test flag is set.
...
FossilOrigin-Name: 2879a691aca9304aea5acb46bab8e82bb2e08eb54201f3679d60bfc0e8383845
2019-03-18 18:55:35 +00:00
dan
bdabe742da
Fixes for RANGE windows and NULL values.
...
FossilOrigin-Name: 723c84be3ec5ae941b7abd2442cdb76ca3bd76a5ce2d830b0e648c6e1424885a
2019-03-18 16:51:24 +00:00
dan
d406d07262
Fix a buffer overread that could occur when running fts5 prefix queries inside a transaction.
...
FossilOrigin-Name: b3fa58dd7403dbd4d2e9f3ae23d7d1337830d6fef2aa2f137ac5174de0d5828e
2019-03-18 15:49:07 +00:00
dan
b15f19c75e
Fix an fts5 problem with interleaving reads and writes in a single transaction.
...
FossilOrigin-Name: 45c73deb440496e848cb24d4c1326d4105dacfee8bbafb115e567051855e6518
2019-03-18 15:23:20 +00:00
drh
610f11de25
Fix a typo in a comment. No changes to code.
...
FossilOrigin-Name: c2f50aa4e7bad8821e91a7490283dd53e44047d10a8cfebc3e2da26c770a5218
2019-03-18 10:30:00 +00:00
drh
faeeddf0f0
New hyperlink on the README.md file.
...
FossilOrigin-Name: cc5ab96715ebb1089b4e9aa647badd2510aaa056f26004718f921f4ac07e2f93
2019-03-17 23:59:02 +00:00
drh
3756d59bc3
Update the README.md file at the top level to talk about how to deal with
...
version names and how to verify the code in Git mirrors.
FossilOrigin-Name: e8c87a0ac1bf434c12a8ab602e7913a89a51898e818f30fa541a9b5708864212
2019-03-17 23:44:16 +00:00
dan
1e7cb19be3
Fix problems with RANGE windows and string, blob and NULL values.
...
FossilOrigin-Name: cebe09e11cc91d9776f259dd9b87e9c760a460f53ba6fa36481dfe58f77ad417
2019-03-16 20:29:54 +00:00
dan
bf84515a2b
In order to identify the first row of each partition, check if the rowid in the ephemeral table is 1 instead of using a dedicated flag register.
...
FossilOrigin-Name: f2d5f7a24c7aa483c579706c5bd7268a74da6d53025d78fa8642908c2aed1707
2019-03-16 10:15:24 +00:00
dan
c782a81aa5
Implement the EXCLUDE clause for window frames.
...
FossilOrigin-Name: 9b43c3ee2e054b05715573f4f3893b84aabc5100832333c9a0f2a1628552a978
2019-03-15 20:46:19 +00:00
drh
aadf8327be
Back out the change to support Fuchsia, since it turns out fuchsia does not
...
like dot-file locks.
FossilOrigin-Name: 1d801a3b2c48dc8a918d6da047bc877acf033d5f5c4e1d4b412ba7678ed6f8b3
2019-03-15 19:08:23 +00:00
dan
25f5383cb8
Remove a debugging printf() left in test/sessionfuzz.c.
...
FossilOrigin-Name: 73c4abc90264355f3ea6e8c34e5aad6ed665b70fb136c4d416e2a98e46562bbd
2019-03-15 18:57:49 +00:00
dan
1f3b284b11
Ensure that ALTER TABLE commands open statement transactions. Fix for [596d059a].
...
FossilOrigin-Name: 0f2129f59f7df929106e2af876c2976dea6528c1dc1850d64cddb256f20e121a
2019-03-15 16:17:32 +00:00
dan
d35300f9b6
Parse EXCLUDE clauses in window frames. They do not yet work.
...
FossilOrigin-Name: d03c7533a1e993f1b12392a5193b2127484307b27072236a1255e7a30849a381
2019-03-14 20:53:21 +00:00
dan
a0f6b83300
Add things to this branch that will be required to support the EXCLUDE clause.
...
FossilOrigin-Name: 7d66cd2013206ebad50c7cdb7dab9211fa8b47f5cb7067dcb314b3e0180875f8
2019-03-14 16:36:20 +00:00
drh
a49774f478
Technical improvements to the documentation for sqlite3_bind_blob() and
...
sqlite3_bind_text(). No changes to code.
FossilOrigin-Name: fb60150aeedc3898cb249c75c98a7cb48fcec090f94ded7896b634e436c7daa5
2019-03-14 00:01:23 +00:00
drh
2e41b99ea9
Improvements to the sqlite3_db_filename() API documentation. No code changes.
...
FossilOrigin-Name: 711f5ec4dc2635e3102a607510cbbe0b468d9f0af935e09d3454e6e925c8dcb2
2019-03-13 23:51:05 +00:00
dan
db7d895e9d
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: 0b904517bd6c4c59082381577246d3d2351b4265fc9151438ee4c33cf16f2eb1
2019-03-13 17:31:20 +00:00
dan
b6f2deac3c
Avoid allocating excessive registers for the PARTITION BY expressions when processing window functions.
...
FossilOrigin-Name: 180be266238e18c01f8bd52c75dd9aa3e26e553620258141cd95189a0ae59ddb
2019-03-13 17:20:27 +00:00
dan
b560a7194d
Remove rows from the ephemeral table used by window functions once they are no longer required.
...
FossilOrigin-Name: 6ad553192051eaa0c6d929baacde2de07b93c6d09de861028bbce55a2c9bfdd3
2019-03-13 15:29:14 +00:00
drh
b65e801e5f
New test cases added to test/fuzzdata8.db
...
FossilOrigin-Name: 049e9926202317f58c54b6351ff120fb69bf821f409909b1a1c5e335c0396707
2019-03-13 13:19:05 +00:00
dan
fcb02429ec
When deserializing a database (sqlite3_deserialize()), do not attempt to parse the schema before the data is loaded.
...
FossilOrigin-Name: 4e1b005e8b397a22161a6b89cbd3f17bda70a6e0a86d8abdc61856edf2a74da4
2019-03-13 11:40:30 +00:00
drh
2a934d75d9
Detect zero-length free slots on btree pages and report that as corruption.
...
FossilOrigin-Name: c4f0568fde1d4070e7522ec36c0958be7426076002a7fa2da12a46411ab2e92d
2019-03-13 10:29:16 +00:00
dan
d446165f7d
Minor optimization in sqlite3WindowCodeStep().
...
FossilOrigin-Name: b1322ffb6e63a110998068bf4f0a903028bd4fc0464ae1e517d745fb46423f39
2019-03-13 08:28:51 +00:00
dan
bb40727857
Allow real values to be used in PRECEDING and FOLLOWING expressions for RANGE window frames.
...
FossilOrigin-Name: 25ff7091cb12c63b1864ce68a9151f8432af5804b5ae905a2175761ab4b9fdd8
2019-03-12 18:28:51 +00:00
dan
935d9d8260
Expand on header comment for sqlite3WindowCodeStep(). Further simplify the implementation of the same.
...
FossilOrigin-Name: 5129bcc996b3c9f78ab6b674a4364787e7b353b90f15f027cad4431012022c30
2019-03-12 15:21:51 +00:00
dan
9e24439c2f
Fix a crash that could occur if the RHS of an IN expression is a correlated sub-query that refers to the outer query from within a window frame definition only.
...
FossilOrigin-Name: 0524aaaf45681437c2dca3d31ff26a65bee7bd2074730277c29136635ee0be0f
2019-03-12 09:49:10 +00:00
dan
cc7a850f2e
Remove "cache mode" from the window frame code generator. Handle the same cases by editing the window frame specification itself.
...
FossilOrigin-Name: 081263538332bb9c07e62630629007ccbba31bef5dc890f60b4ba58a355f70ac
2019-03-11 19:50:54 +00:00
dan
a786e453a4
Simplify the windows frame code some. Add a comment explaining some of the VM code generated by sqlite3WindowCodeStep().
...
FossilOrigin-Name: 6bd1a07949ff3d394056bfcc813444401ef00806e3f0e0423ff6962541e84bdb
2019-03-11 18:17:04 +00:00
dan
71fddaf195
Fix problems with "RANGE ... ORDER BY <expr> DESC" window frames.
...
FossilOrigin-Name: e7bced731aa071c95bc398cdecd53c939841bf0c52fbcd06e47ba68f8c5cc35a
2019-03-11 11:12:34 +00:00
dan
72b9fdcf20
Add support for RANGE window frames. Some cases still do not work.
...
FossilOrigin-Name: ffc32b246d92d53c66094afe11950b53ffab6a1c230c602eebbfedafb2eb57f4
2019-03-09 20:49:17 +00:00
dan
f7b846e4ed
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: 53ea550ce759ae4683bcf0ae3af655bfe04f85db70f74edee6bcab56d83bb041
2019-03-09 07:38:16 +00:00
dan
0d86a9bd54
Add simple tests for GROUPS window frames.
...
FossilOrigin-Name: 2872702dacadad11f4fd7c437b77ef82763e840c9c92eefe87eac2491c38f963
2019-03-08 20:57:05 +00:00
drh
37f6ffb887
Fix a harmless bug in the Makefile.
...
FossilOrigin-Name: 62ac9cb07f5f2d14e716cd0f99f3f2fd34f6c9b4303619be8dfbca2eecf5b727
2019-03-08 20:26:12 +00:00
dan
6c75b39614
Finish consolidation of window frame code. Add untested support for GROUPS frames.
...
FossilOrigin-Name: 954bf369935083c188c3b14e77ed89fc5ec4323cc5b0c67e4a2e48fcc278df45
2019-03-08 20:02:52 +00:00
drh
bcf1f41a62
Add new test cases in test/fuzzdata8.db
...
FossilOrigin-Name: 97bdc090f30610cc5dd29101452d1647550387f9c6f742e50f1e07c3cf68a147
2019-03-08 14:07:15 +00:00
drh
4b986b2a47
Patch makes balance_nonroot() slightly smaller and faster and more robust
...
against corrupt databases.
FossilOrigin-Name: 174da3c32c9caebd642c31cb594597ccd5bb2a7fc501b1f49aef0b7b4765bfca
2019-03-08 14:02:11 +00:00
dan
66b8457c7c
Fix another segfault in fts3 that could occur with corrupt records.
...
FossilOrigin-Name: fcc24edde471c2214add2dbc3a27da8890a7148105c5ffa024faf72457964a5f
2019-03-08 13:27:27 +00:00
drh
9a518843f5
Detect an attempt to drop a btree that is not within the bounds of the
...
database file and abort early with an SQLITE_CORRUPT error, to avoid
problems later on in the process.
FossilOrigin-Name: 235a9698f5e9b3c21dc51c9c5042becfb82fc1762a7519a46b9f9fdafe9b0f13
2019-03-08 01:52:30 +00:00
dan
54975cdff9
Fix other "ROWS BETWEEN" cases on this branch.
...
FossilOrigin-Name: a5f68f66472610b5beb4fe28669fbbfe83a32742be73cecad9b2ae28f8a17b30
2019-03-07 20:47:46 +00:00
dan
c813750b7b
Modify new window functions function so that cursors are stepped immediately after each operation, instead of immediately before.
...
FossilOrigin-Name: 093d2b25f1b656bba57d665aac68109436861b157a5769432b612176dae3f6eb
2019-03-07 19:26:17 +00:00
dan
00267b8a7b
Simplify the window function code generator some more.
...
FossilOrigin-Name: 45cbd3b4498cea8856f189e9d0a192556d4f15212055b8328a1beca6083fc47a
2019-03-06 21:04:11 +00:00
dan
b33487b0b6
Improvements to the way built-in window functions are handled.
...
FossilOrigin-Name: e8eee566dfca6f4c8af074731dfe91f7fbcd9ca72f0303235b52e4e2e80d5b71
2019-03-06 17:12:32 +00:00
drh
39c5c4ae06
Add the sqlite3_stmt_isexplain() interface.
...
FossilOrigin-Name: ee642d3e2775ba4c73627ac71d0abf7a0f7a4ab3151d88e0076e9992f4814983
2019-03-06 14:53:27 +00:00
drh
aff0fd483c
Add an "|| CORRUPT_DB" term to an assert() that might be false if the database
...
is corrupt. Also add a branch to have sqlite3PagerMovepage() return
SQLITE_CORRUPT in that case.
FossilOrigin-Name: b0d5cf40bba34e459caa7480bc84a1d75496c2ab52029f4bb0a31f2d9369a8ee
2019-03-06 14:08:41 +00:00
drh
aaad696141
Fix a potential 32-bit integer overflow in the "showdb" utility program when
...
it is trying to interpret a corrupt database file.
FossilOrigin-Name: 3803e750384ec37091b0a6c350f8ef67720e316fd6f74c95e3c5f231c4a01ceb
2019-03-05 23:49:17 +00:00
dan
b25a214dec
Extend windowCodeStep() to handle any ROWS PRECEDING/FOLLOWING frame specification.
...
FossilOrigin-Name: af0ea1363548461b2aad8fd54ee3f2f616111dcae2d6480f5294da44c87a0a5d
2019-03-05 19:29:36 +00:00
drh
91ed9ce0dd
Add a script to tool/ that will extract the sqlite3.h header file from an
...
sqlite3.c amalgamation.
FossilOrigin-Name: 38d2e510cdedf38153466b161c0842b1604aef7b5589c51f628ae7cbb6a8722a
2019-03-05 16:53:16 +00:00
drh
7bf3133fef
New dbfuzz2 test cases added to test/fuzzdata7.db
...
FossilOrigin-Name: 25975e1fb2be0c011542c0a6b001385cec8113662df93dc618f725f2a4692bc2
2019-03-05 14:47:53 +00:00
drh
0a31dc201e
If the initial byte of a record is a large value, then always used the
...
generalized record comparison routine sqlite3VdbeRecordCompare() rather than
one of the specialized versions that are optimized for shorter records.
FossilOrigin-Name: c1ac00706bae45fe9735061ada025880606cdfb8ecfdaa36b4e2d04275820861
2019-03-05 14:39:00 +00:00
dan
4e72e62f3b
Merge trunk changes into this branch.
...
FossilOrigin-Name: 9b4d561f68febdab6624d8c567fb4357bf67dda500664cf708d16a76f37b8ec1
2019-03-04 21:08:53 +00:00
dan
680f6e8e2e
Support some "ROWS BETWEEN N PRECEDING AND M FOLLOWING" window functions without caching entire partitions.
...
FossilOrigin-Name: e7a91f12282afb5d5d7d78397a11d18e0268ee0c931d85e21fce00d13929494e
2019-03-04 21:07:11 +00:00
dan
4474e869fe
Fix a problem preventing compilation with SQLITE_OMIT_UTF16.
...
FossilOrigin-Name: 906d1fd8650874236e0bf5734d5347dcc45ec036164a56570fec37da4ffeaf8f
2019-03-04 07:15:57 +00:00
drh
75db74fdae
Improved comments on the fossildelta.c extension.
...
FossilOrigin-Name: d7d23f0450d659b2c7df34e4df8623ca7b6fe3bd19422e3e9234515214ae8510
2019-03-02 20:09:35 +00:00
drh
e22976c535
Fix the SQLITE_DIRECT_OVERFLOW_READ compile-time option so that it works
...
with SQLITE_HAS_CODEC.
FossilOrigin-Name: fd085e9260bec18f968704abb2dd324d954baa121d13b67c3f5b801e9e3834aa
2019-03-02 15:25:24 +00:00
drh
8f46f34e2d
Remove a redundant parameter extraction call from the percentile.c extension.
...
FossilOrigin-Name: d49c32e6e7cc341b5961d2c7b7c68d1649c6542eeec201660e3f82a55aea9e3b
2019-03-02 12:17:35 +00:00
drh
f10c535fa5
The fts3_tokenizer() function returns NULL if the
...
SQLITE_DBCONFIG_ENABLE_FTS_TOKENIZER setting is disabled, which is is
by default.
FossilOrigin-Name: f5732f4caf7a37a6445c61ae0d0ac14cc9deb897376e73aa36a1ead025b92c69
2019-03-01 21:33:29 +00:00
drh
10cc16c954
Fix a minor comment typo. No code changes.
...
FossilOrigin-Name: 9a0a93c89d3fdd0f9000a9226388e2e53f299165e043913f40b83bf597bfea04
2019-03-01 21:12:40 +00:00
drh
b531aa8fd9
In a query that uses a partial index, the expression that is the WHERE clause
...
of the partial index must always be true. Use this fact to avoid evaluating
identical terms in the WHERE clause of the query.
FossilOrigin-Name: 9b2879629c34fc0a8e99d94648903eb93aabbc7a3682c80cb7382f9a9ca5ffb7
2019-03-01 18:07:05 +00:00
drh
9cb0264041
Add the ".parameter" command to the CLI.
...
FossilOrigin-Name: 1f9fa58541dc974989eee9c9a5d453956f7dbcf42965ece2db2cb5dee3f3f5e2
2019-02-28 20:10:52 +00:00
drh
c06ede105d
Add the new "bind_fallback" method to the "sqlite3" object in the TCL
...
interface.
FossilOrigin-Name: c7f70b6d96338dba201e005104e7f7148c1a8cd767ab05e35b44617c4c797bc5
2019-02-28 17:29:19 +00:00
drh
4ddf7f4211
New test case loaded into test/fuzzdata8.db.
...
FossilOrigin-Name: 00ae0c6c4815366bd2f36bc054b13bc7b568dd0a3caceddf0eba4db33f010ee4
2019-02-28 14:09:14 +00:00
dan
95fdb63b7f
Avoid an assert() failure and an undefined left-shift operation in the fts3 snippet() function that could occur if the database was corrupt.
...
FossilOrigin-Name: d5250db6322103326f0d5782ba049996d9ce8784f9e53a3112fb6f09f888f1c3
2019-02-28 13:41:35 +00:00
drh
45616c7f75
Add an "|| CORRUPT_DB" term to an assert() statement in the btree defragmenter.
...
FossilOrigin-Name: 6bfd8655f006e031c0d4c988356c4b9206efa6bfdb034fde8ffa3361521a4844
2019-02-28 13:21:36 +00:00
drh
8e0f794d17
Enable the LIKE optimization when the ESCAPE keyword is present and the
...
PRAGMA case_sensitive_like pragma is ON.
FossilOrigin-Name: 6ae4b8c525f446ddb0e0bdd5e4e01e06e2ab975e3effa42fce6a1102b3a39830
2019-02-27 23:05:14 +00:00
drh
0319934322
Fix the readfile() UDF so that it returns an empty BLOB, not an OOM error,
...
when reading an empty file.
FossilOrigin-Name: 0edad5339e36d69aed9289bb3e60d35f9930386d76a62bb0194c4fdf420d16fb
2019-02-27 19:59:56 +00:00
dan
89d249364e
Add the "-returntype" option to the "db function" Tcl method.
...
FossilOrigin-Name: 789a492b68c353e2b763d67d399722b7ab61bfe09b472466df2821f65cab1be9
2019-02-27 16:38:19 +00:00
dan
f26b145385
Verify that fts5 auxiliary functions cannot be used in aggregate queries.
...
FossilOrigin-Name: 122330dba3eb2492875bd02a46442306f73e251408447af5e5914ee0c8d6a110
2019-02-27 15:26:03 +00:00
dan
69e224f88a
Reformat the white-space in a few test cases so that the tests work with Tcl 8.6.9.
...
FossilOrigin-Name: 29d02bf2fa9ecacbcc3e862ca70382f5875da8c1dc7fd27366190045fcc42b15
2019-02-26 19:16:49 +00:00
drh
ddc28c23d5
Minor change to dbfuzz2 that allows it to be compiled against older versions
...
of SQLite.
FossilOrigin-Name: 6d39d6a68bf09e0b4f6706218373e74fc03148fd8bdba5031c3de2f750d87cf2
2019-02-26 18:21:08 +00:00
drh
bfa70de117
New test cases added to test/fuzzdata8.db.
...
FossilOrigin-Name: 61fdfc57b9539cb6da5fc24653da2c8fb7c041a7409df911df11b987ed479a3a
2019-02-26 17:52:44 +00:00
drh
5cb1ffc1bd
Allocate a few extra bytes for the pager temp page as an overrun buffer while
...
processing corrupt database files.
FossilOrigin-Name: e7aca0714bc475e04b16e9db78722ce025d2a1382f80cfc0a49cff2af904eae5
2019-02-26 17:49:07 +00:00
drh
eaac9996ed
Use unsigned integers to count the number of pages in a freelist during
...
an integrity_check, to avoid any possibility of a signed integer overflow.
FossilOrigin-Name: 05b87e0755638d31f6d8918f8758362f8c3981661449b5171180a8498f66bd9d
2019-02-26 16:17:06 +00:00
drh
2b454e0335
Fix a harmless compiler warning that only comes up during debug builds.
...
FossilOrigin-Name: 848869ced988ca4d0ac76d43f984360fd11997a580719cccf8d55becea4e8fb1
2019-02-26 16:11:46 +00:00
drh
9ebe59d6ff
Update the configure-generated makekfile to generate a portable pkgIndex.tcl.
...
FossilOrigin-Name: 35cbee7fe4a0b7ca06206ca2f69fc35abe3de4929070d6585ab765af82027438
2019-02-26 12:29:25 +00:00
drh
8b738d0865
Enhance the command-line shell to accept bound parameters, using the
...
TEMP table named "$Parameters" to look up the values for bound parameters.
FossilOrigin-Name: 7c941ce5bcc872ec92cbe0e409fd773f44a5ab1f814e689ad57f756b911e2b96
2019-02-25 18:43:54 +00:00
drh
c3017e7b4a
Update comments on the fossildelta extension. No changes to code.
...
FossilOrigin-Name: 9da4fb59b28686630d63a79988b458726332cf06cc0e6e84d7c0a7600f5fcab0
2019-02-25 14:52:43 +00:00
drh
7edcb11ca7
Fix a typo in the documentation for sqlite3_total_changes().
...
FossilOrigin-Name: 8474c1560e0c3a28c6a7ed360202a8e7caae3c8259f60bbfa6d2948ab7876f51
2019-02-25 14:16:19 +00:00
dan
f2e5c98613
Fix a couple of assert() statements in fts3 that can be false if the database is corrupt.
...
FossilOrigin-Name: 84162af521f29df8a186163fbdef9856e1aa8aba78e74d7df0ba2cc83bb86240
2019-02-23 20:48:41 +00:00
drh
7f414c0c0c
Check-in [fa792714ae62fa98] is incorrect. Add a test case to refute it and
...
also a fix to make it right.
Then add an alternative fix to ticket [df46dfb631f75694] in which
all ephemeral tables used as the RHS of an IN operator be index btrees
and never table btrees so that they can always be reused.
FossilOrigin-Name: d3915230e3ee5878fe2e65a0afb7e91ee124aaf46b4e28c6e00053d6df13d445
2019-02-23 00:21:00 +00:00
drh
4bdd26dfab
Remove a testcase() macro which is now unreachable due to the contraction of
...
the use of IN_INDEX_ROWID.
FossilOrigin-Name: 90c5a17cd526b256753f876e575f3e731d5e8b9dd6e196cf8d8f7306e099b91c
2019-02-23 00:08:09 +00:00
drh
50ef6716d2
Make all ephemeral tables built to hold the RHS of an IN operator be
...
index-btrees, never table-btrees, regardless of whether or not they are
used as IN_INDEX_LOOP or IN_INDEX_MEMBERSHIP. That way, the same ephmerial
table can be reused for both cases.
FossilOrigin-Name: c2d50df8fd1a1fdae6226a3e77296ded09b53a74540caedd4868e686a93cbc10
2019-02-22 23:29:56 +00:00
drh
bc0a55cf0b
Check-in [fa792714ae62fa980] is not a valid fix for ticket
...
[df46dfb631f75694], as the new test case in this check-in demonstrates.
The fix here causes test cases for the [df46dfb631f75694] bug to fail
again, so this check-in is on a branch. A new fix is needed for
[df46dfb631f75694].
FossilOrigin-Name: 0d456456da6e25b20d9d27ca95f1013082bca52ee74ee9bf91732a9fa843ea45
2019-02-22 21:33:56 +00:00
dan
f030b37682
Internally, remove all references to a Window object that belongs to an expression in an ORDER BY clause if that expression is converted to an alias of a result-set expression. Fix for [4feb3159c6].
...
FossilOrigin-Name: 579b66eaa0816561c6e47ea116b46f229188f0fc84c1173bfe0d21df2dff9a9a
2019-02-22 19:24:16 +00:00
drh
480c572f2d
In sqlite3NestedParse() be sure to detect all SQLITE_NOMEM and SQLITE_TOOBIG
...
errors and to distinguish between them.
FossilOrigin-Name: 73056b314bd63288c662752e9bd469b70264c38031c1c857460e64fdb1ed4e2e
2019-02-22 16:18:12 +00:00
drh
255a81f10a
Modify sqlite3_str_finish() and sqlite3VMPrintf() so that they always
...
return NULL on any OOM or SQLITE_LIMIT_LENGTH error.
FossilOrigin-Name: e7144ffd21294d7aebbfa6aa5a262797a6d16de11193f1bf6b75f5f27b04c940
2019-02-22 15:42:10 +00:00
drh
dbdddc99d8
Detect oversized strings in the OP_String opcode even if the P4 argument
...
is originally UTF8 and has to be converted to UTF16 to match the database
file and that conversion causes the string to become shorter and cross
below SQLITE_LIMIT_LENGTH threshold. This might fix an OSSFuzz problem
that we have been so far unable to reproduce.
FossilOrigin-Name: c13d563925db12bc2c91ff9432050261e5bd39d960e2739777a66bf804df2e31
2019-02-21 16:41:34 +00:00
drh
6a1bfc9a6d
Changes to the unix VFS that allegedly enable it to build of Fuchsia.
...
We have no way of testing this.
FossilOrigin-Name: be21a6416d47ff7db995006a0422b745044d9b8bb5bad3c53342aa6e2e524771
2019-02-20 19:20:16 +00:00
drh
7e85e9033f
Disable unix-specific features of dbfuzz2 when compiling on windows.
...
FossilOrigin-Name: af84774d1eebcfe6a61b564b4edf280ad3c3a93f39b7f70b6fcc56f7bbdfb9eb
2019-02-20 19:06:16 +00:00
drh
8cf92890f2
Avoid the use of function pointers in columnName(), as function pointers
...
appear to be a source of consternation to LLVM.
FossilOrigin-Name: c48f6f39c5f89a338fed7153553a27a5d882d4d8db8221e911b96e0dd57c53d9
2019-02-20 18:13:57 +00:00
drh
b1af9c603c
Progress handler improvements:
...
(1) Invoke the callback after OP_Program opcodes
(2) Invoke the callback multiple times in a row to catch up after a
long run of no progress checks.
FossilOrigin-Name: 0c5db18d79366d9c23925ce3ed835500311f32a10aa7dbfdd09148b1e8a2507b
2019-02-20 13:55:45 +00:00
drh
042666e4fa
When an IN operator drives a query loop, mark it as "CODED" so that it
...
will not be used afterwards for a (pointless) membership test. This is
a better fix for ticket [df46dfb631f75694] than the previous fix that is
now on a branch as it preserves the full optimization of
check-in [e130319317e76119].
FossilOrigin-Name: fa792714ae62fa980f1767acc6d622a6727ceb677870243c88548423795dcb5b
2019-02-20 12:52:47 +00:00
drh
2a98b586c8
Enhance the xBestIndex method on delta_parse() to return SQLITE_CONSTRAINT if
...
no delta argument is supplied.
FossilOrigin-Name: f16d127c3b4a735afae1fc236bcf90f31adff079c7d3a896f901d908ff8b8532
2019-02-19 20:29:05 +00:00
drh
2d441ce3f3
Add the delta_parse(DELTA) table-valued function to the fossildelta
...
extension.
FossilOrigin-Name: d91fcc267bf1be795dfdb1fbfb40c2aea79ddff247a51d26462136c325b7a6d3
2019-02-19 20:19:51 +00:00
drh
4bec44bdfa
Add the fossildelta.c extension in ext/misc with implementations of the Fossil
...
delta functions.
FossilOrigin-Name: b80cafa6f8a5c6ff1dc9efd2f670777ab131ace2df1eb431cedc8cfa901baf18
2019-02-19 18:39:16 +00:00
drh
6d7f18d60c
Fix a potential memory leak in RBU if the rbu_fossil_delta() SQL function is
...
misused. Misuse never happens in a working RBU system, so this is not a
particularly important fix.
FossilOrigin-Name: 12517d1b15da46bc90bd95bb9c161d7f2ecdd7f28b1b3a5ed4397939ef986061
2019-02-19 17:45:31 +00:00
drh
12fe9a0d25
Fix an assert() that might not be true if the database file is corrupt.
...
FossilOrigin-Name: f2d400db4dbfb05e2540178ed3662f97f8c57a95f8129886c7081c35e53adf0d
2019-02-19 16:42:54 +00:00
drh
3cbd2b7245
New assert() to verify the TF_HasprimaryKey flag.
...
FossilOrigin-Name: 0abace8a7aecca01c8677d07f3ec1bafb289ceffe5bcd60284701a7bf813f415
2019-02-19 13:51:58 +00:00
drh
9df385ec3d
Always use the symbolic name SQLITE_IDXTYPE_PRIMARYKEY rather than a hard-coded
...
magic number 2.
FossilOrigin-Name: 55d43adc894a6b1e0f77bf481dad6dd604a0dc0022e72bbf2e3037f97351971e
2019-02-19 13:08:35 +00:00
drh
b43ac0021f
Fix an assert() that might not be true if the %_segdir table of FTS3 contains
...
corrupt entries.
FossilOrigin-Name: a6509ca3dc2602c7d0376230ee63c1bb4c4066f007e77e9ac20d8eee966e5e13
2019-02-18 12:16:03 +00:00
drh
56785a0a80
Fix an assert() that might be false for a corrupt database.
...
FossilOrigin-Name: 0cfb888723fb8ff0763bbc23acb7d21a53f6d1c40661d8468248644281b29d85
2019-02-16 22:45:55 +00:00
dan
e7c9ca41b2
Add support for chaining of WINDOW definitions.
...
FossilOrigin-Name: c155125fd5dddb438c09d40f5137c47d88defb7a6ede4261f09d7bdaad250d37
2019-02-16 17:27:51 +00:00
drh
9c7e44cddd
Improved oversized cell detection when updating ptrmap pages in
...
balance_nonroot().
FossilOrigin-Name: aa61435a4c3800f023788081c1342ad6a05a41449a424fa6c039d5ca46072256
2019-02-14 15:27:12 +00:00
drh
82642f815b
Ensure that the nProgressLimit variable is always initialized in
...
sqlite3VdbeExec(), even if the routine jumps to its exit processing early.
FossilOrigin-Name: 167b91df77fff1a84791f6ab5f72239b90475475be690a838248119b6dd312f0
2019-02-12 22:58:32 +00:00
drh
c332e04310
Enhancement the progress callback mechanism so that the progress callback
...
is always invoked at least once at the end of a prepared statement if the
opcode count has been exceeded. This makes the progress callback more
effective at limiting run times. This check-in also includes and unrelated
performance enhancement to OP_Column.
FossilOrigin-Name: 68cce272e7f7cbc0c319ee8b7ff674d652cb1e95e903d99d848c41dff2b5d304
2019-02-12 21:04:33 +00:00
drh
5860a61d59
Further performance improvements to btreeInitPage().
...
FossilOrigin-Name: 93ae382e97c23c90312739481e47ef7f9bc475a8382c063a2de2986c950c0aec
2019-02-12 16:58:26 +00:00
drh
83acc14ad4
Increase the version number to 3.28.0 for the next release cycle.
...
FossilOrigin-Name: 6eb38c59a81d27b7c1f3edad84b27a1114df6f1607282b2be1b5de9c7decc512
2019-02-12 15:51:36 +00:00
drh
f9101623a3
Register the "vfsstat" virtual table immediately when loading the vfsstat.c
...
extension.
FossilOrigin-Name: 9bd92afd0cb0a958441e861c7006b77027125b1ceea0868958ec948b6b3c7bc9
2019-02-12 12:25:34 +00:00
drh
62e009f3d8
New test cases in test/fuzzdata8.db.
...
FossilOrigin-Name: ab2356f580384e4b40d128fc04fd6bc4dfcf50109df77d05d59adcc20f339066
2019-02-12 01:28:24 +00:00
drh
3e7800a9db
Defer computing the number of bytes of free space on a btree page until that
...
value is actually needed.
FossilOrigin-Name: 177f5f40eabfcfd229ac7f291dfed9e9ee35762e86923a0f356915f389da177d
2019-02-12 01:04:49 +00:00
drh
a941ff712d
Change an assert() into a NEVER(), since the condition is difficult to prove
...
with certainty. Improved comment on the MemPage.nFree field.
FossilOrigin-Name: fec071b89df2cbafda365077bb54bc9999e12086f36d6cea8d125662b36638dc
2019-02-12 00:58:10 +00:00
drh
8357c662b3
Do not invoke btreeComputeFreeSpace() when not necessary.
...
FossilOrigin-Name: f11b0ed47402034378ded2c60b82841b81cd1319cdb72d1ef052faef29a5294d
2019-02-11 22:50:01 +00:00
drh
d4a6744b50
Improvements to comments. No changes to code.
...
FossilOrigin-Name: 16eb0fc8f8cce51eaa5305ebc9f3bd8c8d935dd3ebebab6820e5629f9292eec2
2019-02-11 19:27:36 +00:00
drh
6813350966
Fix test cases. Avoid unnecessary tests for MemPage.nFree less than zero.
...
FossilOrigin-Name: 480a5090befdc29eaeb6f0b22831c980d6ee92438d9b2e766de68b037ded38b8
2019-02-11 17:22:30 +00:00
dan
43a6e4d3df
Fix another segfault that could occur in fts5 with a corrupted database.
...
FossilOrigin-Name: 09e337386beb2008eba969f79601d1b8ed953951ce6e43782586e168140d78d2
2019-02-11 16:12:09 +00:00
dan
47a30159e5
Fix typos in comments in fts5.h. No changes to code.
...
FossilOrigin-Name: c19e97bc927074915a3ac8307bf89d30580cf90edd75f4001bcf589b2dfefe58
2019-02-11 13:25:33 +00:00
drh
c01f41cfa6
Updates to a comment to keep it in alignment to the changes on this branch.
...
FossilOrigin-Name: 7499f74351415e601eb48eff6b6fccd3a78d137f5ea9cd7cac46b904772966de
2019-02-11 12:51:39 +00:00
dan
8cd2e4ae03
Build and test fixes for SQLITE_OMIT_WINDOWFUNC builds.
...
FossilOrigin-Name: 8824115a9776e876a3677f0cb479e311ee65584d43872b37766a146afec72d8f
2019-02-11 11:34:01 +00:00
dan
3fd7eaf3f2
Avoid using non-ANSI return statement in void function sqlite3WalSnapshotUnlock().
...
FossilOrigin-Name: 4a4952d38e8177ed8d59aaa575410bebf76787dd6d801fdbdb809d4f8c670da0
2019-02-11 11:04:17 +00:00
drh
f0c48b1cd8
Add an assert() in an attempt to repro an ASAN warning from OSSFuzz.
...
FossilOrigin-Name: 7b41222428dcebaae2e9a0e8192e091b6fdee5b1163a5fa14ca1cd4f06354983
2019-02-11 01:58:34 +00:00
drh
85a379b74b
Fix a page-cache reference leak in the btree balancer when there is a corrupt
...
database.
FossilOrigin-Name: 9285899120dec24ff2944431ad455d7ae217ef408ae2f1a3e7bdfb897099028c
2019-02-09 22:33:44 +00:00
drh
b0ea9432a1
Defer computing the MemPage.nFree value of an in-memory btree page
...
until it is actually needed, since for many pages it is never needed.
This checkin works sufficiently to prove the concept, but still has issues
with exception handling.
FossilOrigin-Name: 1d43ee4000b71f5c6d49244dee96358c567f09ba3451b9d22895a796d3f61ad6
2019-02-09 21:06:40 +00:00
dan
2fa619a3a8
Change a few assert() statements in fts3 that might fail if the database is corrupt.
...
FossilOrigin-Name: db74a56af73d92b7a9d43ceda7e4540915c580c68a0266b4ddefb9e0d5cbcbeb
2019-02-09 19:23:54 +00:00
drh
298f45c641
Small performance improvement and size reduction for pageFindSlot() - the
...
routine in btree.c that locates a free slot for a cell on a btree page.
FossilOrigin-Name: 1969372ac72d25cc642a0268f4bb0ae4b59f2dca568c119ef61b67183b3a8bd9
2019-02-08 22:34:59 +00:00
drh
16d7e87caa
Further simplifications to sqlite3VdbeMemSetStr().
...
FossilOrigin-Name: 1d212957079a2caa30f3c9d80f43464781bc9634c2b5181a5814efbddae31711
2019-02-08 17:28:20 +00:00
drh
6ff7427733
Change the sqlite3VdbeMemGrow() routine so that it no longer guarantees a
...
minimum size of 32 bytes. That minimum is no longer required, and without
the extra check for the minimum size, the routine runs faster.
FossilOrigin-Name: 5c499da8a4d0babc56883aa362ae124772fd9214a51169a88a5dee523d051658
2019-02-08 15:59:20 +00:00
drh
1cf197583d
Give the sqlite3 object a pointer to the current Parse so that if an OOM
...
occurs, it can automatically set the Parse.rc value to SQLITE_NOMEM. This
avoids a frequent extra test of db.mallocFailed in the innermost parser loop.
FossilOrigin-Name: 5c6638040b3017c6be016441422d965a3ca00dd6ae1f78cadc0b54562978f64e
2019-02-08 14:55:30 +00:00
drh
8851e10017
Do not do the optimization that attempts to pull expression values from
...
an index on that expression when processing a multi-index OR
(see check-in [a47efb7c8520a0111]) because the expression transformations
that are applied become invalid when the processing moves off of the current
index and on to the next index. Fix for ticket [4e8e4857d32d401f].
FossilOrigin-Name: 440a7cda000164d3b46109caf2e1dde80681ba9b0d94ba9be6847d2b917445cf
2019-02-08 04:15:19 +00:00
drh
1e30c7f369
Change VACUUM so that it preserves ROWID values.
...
FossilOrigin-Name: 49e5d11d463de078c2b8a963f5ed436210937e6dfddf06942132db9ec685bfd8
2019-02-07 19:07:11 +00:00
drh
c9912d1706
Version 3.27.0
...
FossilOrigin-Name: 97744701c3bd414e6c9d7182639d8c2ce7cf124c4fce625071ae65658ac61713
2019-02-07 17:02:52 +00:00
drh
24bfecab3c
Experimental change to VACUUM so that it preserves existing ROWID values.
...
FossilOrigin-Name: f264015f84de51d74f681ba62a5f26bd859480d93e1eaf9e1018b3e9b4e0bea3
2019-02-07 15:09:44 +00:00
drh
af63892337
In the fuzzcheck test program, make sure the isspace() and related routines
...
are not given values outside the range of -1 to 255.
FossilOrigin-Name: f298328771d5aaba798d05f50c77ac239c7c72422ff35953463d6876a9659f74
2019-02-07 00:17:36 +00:00
dan
e385d33a29
Ensure all bytes of the PgHdr1 structure are initialized. This avoids a valgrind error when running corruptI.test.
...
FossilOrigin-Name: a505e34d4ec31159a4508ec827fcffed0cf3bd5ea5ef0ac293016da02367a53a
2019-02-06 20:49:49 +00:00
dan
922b35801d
Update an assert() in test_journal.c to take the new "VACUUM INTO" functionality into account.
...
FossilOrigin-Name: 0e6249cb958a40ead0edf6e75a2c46e8657db3d358c5fe78a9dc0fa5ed7ad929
2019-02-06 20:12:00 +00:00
dan
9c5f734339
Avoid attempting to delete a file while it is still open in walfault2.test.
...
FossilOrigin-Name: 9d54a63d6e3cd47b483cf0ee868a5e7f638bcb0e3cbdeaecc667f293b87a3e99
2019-02-06 19:42:02 +00:00
dan
6e08c4a5e6
Update test file dbfuzz001.test so that it works with SQLITE_ENABLE_OVERSIZE_CELL_CHECK builds.
...
FossilOrigin-Name: 4371a0c46ee7bfbc0a1507796bd9eefd3371adad81b8dda214d018854316727b
2019-02-06 18:08:42 +00:00
dan
531230d006
Add -DSQLITE_ENABLE_DESERIALIZE to the default testing configuration in test/releasetest.tcl.
...
FossilOrigin-Name: 433d6ef637a10ee017b5d8cadd125a162cfedc9895ae862b8dde6dddb7eda59b
2019-02-06 15:23:43 +00:00
dan
fbf6136c78
Do not attempt to test the shell ".trace" command in SQLITE_OMIT_TRACE builds.
...
FossilOrigin-Name: 3839e9098107604e1526c2b1e813c019607077dfe39d7eeb92f3466518dec3b1
2019-02-06 13:48:04 +00:00
dan
871b13492d
Fix a problem preventing testfixture from being built with SQLITE_OMIT_VIRTUALTABLE.
...
FossilOrigin-Name: d2cca36adc69d2c8e7707d70cbd75c497eae6a1a3f8a9dd18249ca6804c9db5f
2019-02-06 13:41:19 +00:00
drh
d0ee3a1e6d
When extending the size of SrcList objects, do not attempt to use
...
extra space on the end of the allocation, as that provides scarcely any
performance benefit but does greatly complicate cross-platform testing.
FossilOrigin-Name: 3087a0c31e9fbfaedb7cf10a2fda59bc22318ff178614aefcc00ac83d9a7bb14
2019-02-06 01:18:36 +00:00
drh
4acd754c79
If the query flattener detects an error, cause the SELECT code generator
...
to abort immediately.
FossilOrigin-Name: 3d3b142f1045080beb775a9cfe88ec143aa460750132e20059fd510291449850
2019-02-06 00:55:47 +00:00
drh
01996dae49
Back out check-in [008112bcef561a8], reenabling deprecated PRAGMAs when the
...
SQLITE_OMIT_DEPRECATED compile-time option is used, because way too many
TH3 tests depend on those deprecated PRAGMAs.
FossilOrigin-Name: 9dbf512d1c4627a28d60f4e7238cb100d7a4e11f976139b07ad1c59e9b584c7d
2019-02-06 00:11:13 +00:00
drh
569b1d9119
Omit the ".progress" command from the shell if it is compiled with the
...
SQLITE_OMIT_PROGRESS_CALLBACK option.
FossilOrigin-Name: 4d0a949fd92e19fbf243a2e3a1a7c2cdb111f9a6943949d2420dd846bc7d9285
2019-02-05 20:51:41 +00:00
drh
d46b6f57c9
Fix a harmless compiler warning in the memtrace.c extension.
...
FossilOrigin-Name: 2f468da4e9fb3edb5e902fa5d3c528726d1fb64d749d29e558ba3243c76bcb95
2019-02-05 19:52:39 +00:00
drh
fc4eeef9e7
Fix compiler warnings on Windows.
...
FossilOrigin-Name: 4978ee8b5405f958723b4ebbd4288bd08bff2b453da2d1c032d1ae904c2a3821
2019-02-05 19:48:46 +00:00
dan
dee9be9b3b
Update the tester.tcl --malloctrace option so that it uses eu-addr2line instead of addr2line.
...
FossilOrigin-Name: 79c073878d56fc638b751b0e61295df182f7ee6f8ebd7319c1eeac1608abbac8
2019-02-05 16:53:26 +00:00
drh
d57936721b
The IS NOT NULL operator does not imply that the operand is never NULL.
...
Fix for ticket [5948e09b8c415bc45da5cf]
FossilOrigin-Name: d840e9bb023a1e84a7739d764a0f6cf608fc3183ff8c366fcdb486ebd932f0c1
2019-02-05 14:36:33 +00:00
drh
24545d2300
Keep the temp_store_directory and data_store_directory pragmas even when
...
compiling with SQLITE_OMIT_DEPRECATED.
FossilOrigin-Name: 93386a7c97f27df69f79052ef4d80143bb6832a806885249c315d226b2a256b2
2019-02-05 12:16:53 +00:00
dan
41e0717bcb
Update test file "resetdb.test" so that it works with the "prepare" permutation.
...
FossilOrigin-Name: 95d338124be2e0e18f17354b28f4320336202f1a4ec1177df753b2800e954bfb
2019-02-05 08:55:43 +00:00
drh
53d30dd371
Early detection of implausibly sized records to avoid unnecessary
...
large memory allocations.
FossilOrigin-Name: 2c8769c69f301307db6663adb8b7c0b89f5959516bf6110cb8ff4b21bd903f70
2019-02-04 21:10:24 +00:00
drh
af48257bc9
Mention the new -memtrace command-line option in the -help output of the CLI.
...
FossilOrigin-Name: ada91aefe37efe3c009691b5599e4d6acf182e5ec3cf28dda0871d09858498b3
2019-02-04 19:52:39 +00:00
drh
a790882d63
Add the -memtrace option to dbfuzz2.
...
FossilOrigin-Name: 67fecbc79d3e927a7e22f3589be3184114322635874e4b3170666e352d0bfe9d
2019-02-04 19:50:44 +00:00
drh
88862d49a6
Enhance dbfuzz2 so that with the -v option it shows the return code and
...
error message for any failing SQL statements.
FossilOrigin-Name: 3a127ef9f7feafe6ba8c75e4eb29e28aa61a30249082cc8767ada1ec0cc0b7f1
2019-02-04 19:45:26 +00:00
drh
f2305414cd
Ensure that the sqlite3_exec() callback gets the correct number of columns
...
for a query, even if the schema changes out from under it.
FossilOrigin-Name: a16ffb5a4b30f1ac4a8384fccde0a0f69e49545b6f9be9267928609328c4a151
2019-02-04 19:12:54 +00:00
dan
4fc4ba771c
Do not run shmlock.test as part of the inmemory_journal permutation.
...
FossilOrigin-Name: d3fea69cbb071867a90ad56ca05123ebf8e44689a92577a525a883c176c791bd
2019-02-04 16:42:57 +00:00
drh
e2d2ad6ece
Update the test/fuzzdata8.db database with new interesting cases from
...
dbsqlfuzz.
FossilOrigin-Name: e467e4c8fa256ddd6c26c1f21bc26289a21f18b781737eaf706bc813ed8234fa
2019-02-04 16:36:24 +00:00
dan
83a635a267
Fix problems with SAVEPOINT and related commands within transactions on a corrupt database that include fts5 or some other virtual tables.
...
FossilOrigin-Name: b0da6e0dd1f9a9ba7646ee6bb3c14945e570303c9a42d20fa8a653570e12c3f9
2019-02-04 16:25:40 +00:00
drh
3f83f59154
Add the ".progress" command to the CLI.
...
FossilOrigin-Name: ad84ca24ff760f7a2b128f2eeb4d799a97f84b8b8a8bb8d9657c4c555f6ccf47
2019-02-04 14:53:18 +00:00
dan
0062ddd4c9
Fix another potential buffer overread in fts5.
...
FossilOrigin-Name: 14fba4cc5db2bc206f024bfa5dd82fffdbc7577162da2c3b15a91cc1c91f3846
2019-02-04 14:00:20 +00:00
dan
81f44cdbfb
Fix another corruption case in fts5.
...
FossilOrigin-Name: e608085d3f7e3cc0015fde626e205ee9842ef3cd06dc879fbbc7f2067c592965
2019-02-04 11:54:22 +00:00
dan
41fc545147
Fix an assertion failure in fts3 triggered by a corrupt database.
...
FossilOrigin-Name: 560ebd4269fad07b8e988d070454017123593eb6762597d08e8c32d7b4fb92ac
2019-02-03 07:46:07 +00:00
drh
150edadf58
New testcase added to test/fuzzdata8.db.
...
FossilOrigin-Name: 2f5c1925b94d85489533549c58191feb1d803ad9d58b43f47fef42b72c531a38
2019-02-02 18:24:28 +00:00
drh
e5989723ba
Honor key query parameters for SEE on the URI filename for ATTACH
...
and VACUUM INTO.
FossilOrigin-Name: 2e01096b8933a2315e3dffcd7d0de84c744c1b4be1d909388c61f0fd636ddb99
2019-02-02 15:59:49 +00:00
drh
9b2bd91d9a
Give a link to the URI Filename document in the documentation to the
...
various sqlite3_uri_parameter() interfaces.
FossilOrigin-Name: 69b0b2ee536fda8975f60643f7f1891db4649958aca476822ea2a632ce731992
2019-02-02 15:05:25 +00:00