mistachkin
1c06b47864
Minor simplification: In OP_ParseSchema, read the p1 register once.
...
FossilOrigin-Name: bd250533a06e4a11c1f548c3de66b8562fc627383848570d7d030cf132fd336f
2018-09-27 00:04:31 +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
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
drh
9fd88e8db7
Fix an uninitialized variable in the OP_ParseSchema opcode that comes up
...
only if the schema is corrupt.
FossilOrigin-Name: 725808d4c59176f71787452c7e500b563fd99cfc8ece47b1efe01d5e207efe0d
2018-09-07 11:08:31 +00:00
drh
c840b428fc
Merge fixes and enhancements from trunk.
...
FossilOrigin-Name: 589186c083ff3af8d5a6d5ad34e1cefea57806ebf3831ea3bf5a48ef1e173140
2018-09-01 15:49:13 +00:00
drh
9d67afc421
Also free up the MEM_RowSet bit in the Mem.flags field and have RowSet objects
...
be destroyed using Mem.xDel. This change results in faster code.
FossilOrigin-Name: f48e9feb3fca514e4e586932e6d19a5e34a384204effeba553006dcddf5f13d2
2018-08-29 20:24:03 +00:00
drh
72f56ef95d
Free up the MEM_Frame bit in Mem.flags object. Store VdbeFrame objects
...
as MEM_Blob with a special Mem.xDel pointer instead.
FossilOrigin-Name: 62db5fd47660bbc4fcf2c6d4a6c5a3077f12c6442a128d22b66b789a0409ef32
2018-08-29 18:47:22 +00:00
dan
0d5fa6b979
After modifying and reparsing the schema as part of an ALTER TABLE RENAME
...
COLUMN, check that no new schema errors have been introduced (e.g. ambiguous
column names in views) before committing the operation.
FossilOrigin-Name: a0e06d2c5e3abb3f300491e7651bb177a436899efd4506de9239359096b6a9e7
2018-08-24 17:55:49 +00:00
drh
1595abcda6
Improved error messages when an ALTER TABLE RENAME COLUMN fails due to a
...
duplicate column name.
FossilOrigin-Name: 37d11b8e8224a8b241ff57b9c4b9499db39dde4ddcb56ff8b03a3d08091a4c11
2018-08-14 19:27:51 +00:00
dan
b0c7920d86
Avoid an assert() sometimes triggered by ALTER TABLE RENAME COLUMN in non-debug builds.
...
FossilOrigin-Name: 520c1c75dae5e3f4695fcdf0aad5fb9f492f0e528b5fbb49d5d3b5fc02762f47
2018-08-11 18:34:25 +00:00
dan
e325ffed04
Reload the entire schema after renaming a column in order to ensure that the
...
schema for any tables for which parent key definitions were changed are
reloaded.
FossilOrigin-Name: f4497b0136e9fcb1121a834c86f84eeaf8f1e7d3157d409484e086bcef3487f1
2018-08-11 13:40:20 +00:00
drh
24846bc0bf
Fix an overzealous assert() statement discovered by OSSFuzz.
...
FossilOrigin-Name: d9c9fe9f5ad3fc9123ad29ebafcb7f40dcecd448fb7a928bb31bea8181d81ec1
2018-08-06 01:21:53 +00:00
drh
cfdeeeb966
Remove a testcase() that is no longer reachable without the column cache.
...
Provide an assert() to help prove that the testcase is no longer reachable.
FossilOrigin-Name: a500893b6f64aced197cd32b79d51a481629a39d45dbcf0f02d65e5451ac4706
2018-08-04 20:12:10 +00:00
drh
c6ed275fcb
Remove more column-cache residue: The OP_SetColTab and OP_VerifyColTab
...
opcodes and the associated SQLITE_DEBUG_COLUMNCACHE logic.
FossilOrigin-Name: 80236e81cefdf3d3cda3dbdb6de1575c38e4e248cc4b72ca9ee96d3aa0464bfd
2018-08-04 16:54:53 +00:00
drh
e4fe6d4e62
Fix the OP_SeekRowid opcode so that it has no type-change side-effects on the
...
key register in P3. This fixes an obcure problem that arises when doing
equi-joins between a table with a TEXT column against another table with
an INTEGER PRIMARY KEY. The original problem was discovered when OSSFuzz
created such a query and hit an assert() in OP_VerifyTabCol that was
specifically designed to catch these kinds of errors at run-time.
FossilOrigin-Name: fa94b49e02eb6b8fc4acc220ecc2fabef546c65845696758b25965c26b251ea9
2018-08-03 15:58:07 +00:00
drh
5eae974c48
Improve "PRAGMA vdbe_trace=ON" to always show the key values for the
...
OP_IdxGT and related opcodes.
FossilOrigin-Name: 0f881955ed173c7c35dfca2d4aeca855858e40bb951e6fb6fedd9a2fff6a5a86
2018-08-03 13:56:26 +00:00
mistachkin
758784d1db
Keep generated opcode values grouped together when required, even when they do not correspond to a token.
...
FossilOrigin-Name: 6ee2950b272ede475e485bfaa7d413eaa81482fe9dd6452aeeaf95ff7938f7da
2018-07-25 15:12:29 +00:00
drh
ba968dbfe7
Do not abort running queries due to a CREATE INDEX statement. Allow them
...
to run to completion before being reprepared. Fix for ticket
[c694113e50321afdf9].
FossilOrigin-Name: 2bd593332da0aade467e7a4ee89e966aa6302f37540a2c5e23671f98a6cb599c
2018-07-24 22:02:12 +00:00
drh
6ccbd2787b
Further improvements to bytecode branch testing. Fix cases where the
...
macros said a branch could not be taken when in fact it could be. Alter
some window function branch coverage macros to indicate that comparison
operands cannot be NULL.
FossilOrigin-Name: 76e42b7071a71137c0da4f10db4e653ae94a89b56e95cd3f036bff08c9500d08
2018-07-10 17:10:44 +00:00
drh
7083a487ad
Enhancements and improved documentation to the byte-code branch coverage
...
testing logic. Provide new macros that allow the code to specify that
some branch instructions can never take the NULL path and that the OP_Jump
opcode is only interested in equal/not-equal. The
SQLITE_TESTCTRL_VDBE_COVERAGE file control callback now works slightly
differently (it provides the callback with a bitmask of the branch action,
rather than an integer).
FossilOrigin-Name: cd2da7e1ba4e78e68ccf65d4969df963c1e3085930e74419450bda2799381e05
2018-07-10 16:04:04 +00:00
drh
2c885d0575
Add an assert() to help verify that OP_AggInverse is never called on an
...
accumulator that has not previously been processed by OP_AggStep.
FossilOrigin-Name: 4213889103fa37f3f11802aea81989522048a0752820603dd556f612128ddfee
2018-07-07 19:36:04 +00:00
drh
8f26da6c5b
Use separate opcodes, OP_AggValue and OP_AggInverse, for the new callbacks
...
associated with Window Functions, for improved readability of EXPLAIN
output.
FossilOrigin-Name: fa6538050938ffeb042fbee31512514d6d3ace514b2a3dfd8365bbeb13f35a78
2018-07-05 21:22:57 +00:00
drh
8be47a7e86
Get the json_group_array() and json_group_object() SQL functions working
...
as window functions.
FossilOrigin-Name: 916cdc83f5a45e0b6f61c52ff5fde70d54bcd0dfaa4a32f9ac709fe0ddbb480b
2018-07-05 20:05:29 +00:00
dan
67a9b8eded
Omit all window-function related code when building with SQLITE_OMIT_WINDOWFUNC.
...
FossilOrigin-Name: 5f04b016467342b5a796bf702ed25b621eb86f2961c1e703d276c93f2cb6aa89
2018-06-22 20:51:35 +00:00
dan
660af939b0
Add new API function sqlite3_create_window_function(), for creating new
...
aggregate window functions.
FossilOrigin-Name: da03fb4318fd2613ec5c5b109a3974ac1120c19ed16bed4ca85bbdc4b35c998c
2018-06-18 16:55:22 +00:00
dan
9a94722d48
Fix problem with window functions min() and max() when used with a PARTITION
...
clause and a frame starting point other than "UNBOUNDED PRECEDING".
FossilOrigin-Name: 43eb1e75a4d7ac0973ed8589bbaf379c24cdc8eacc4e613610d2d4c24d385dc1
2018-06-14 19:06:36 +00:00
dan
09882a75c4
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: 5cf5f1808a51f9c2cfc98dd49b4f1ce860b53e935287f89868ce2fdbace8eb06
2018-06-14 14:30:51 +00:00
dan
466ea9b1e2
Check that malloc() has not already failed when invoking the xUpdate() method
...
of a virtual table implementation. This fixes an assert() failure in FTS5 that
could occur following an OOM condition.
FossilOrigin-Name: e9a7e4d58f3716991309ca0e3f080717e473c7c231685954aceee36172f19cf2
2018-06-13 11:11:13 +00:00
drh
58773a533c
Improvements to SCopy correctness tracking when SQLITE_DEBUG is enabled.
...
FossilOrigin-Name: b2973f2357a2c5e22e0d612c970adbc6d51cbc5e4ff7ac6d2b678722e553e8ec
2018-06-12 13:52:23 +00:00
drh
cd9e01427d
Fix the "Synopsis" on the OP_BitNot opcode.
...
FossilOrigin-Name: acd78df61188591d33ddb9b1b8c16bcc015f4dffac66314529caa747d4395c70
2018-06-12 13:16:57 +00:00
drh
299bf7c2f0
Add the OP_SetTabCol and OP_VerifyTabCol opcodes, only when compiling with
...
SQLITE_DEBUG, to do run-time verification of the column cache.
FossilOrigin-Name: b37614a3670770919a7c7f8157c5fd6578d736447998640b52e5cef8174cadc2
2018-06-11 17:35:02 +00:00
dan
07509f8c1e
Merge latest trunk changes with this branch.
...
FossilOrigin-Name: 251022034219819a1dc356542770ff46e3147a080f072eb20af6106771dadd92
2018-06-07 20:35:28 +00:00
drh
cf025a8c18
Fix the assert()s in the byte-code engine that prove that cursors
...
are unidirectional.
FossilOrigin-Name: 4b0b4e14039469b656662312a5f80f086ede293e9ad04c7bc99a202b683a1e55
2018-06-07 18:01:21 +00:00
drh
f1949b6634
Remove the NextIfOpen and PrevIfOpen opcodes which are no longer needed
...
when the IN-early-out optimization is working.
FossilOrigin-Name: 439c8162272795b422a0e01b01b832fbc12b39914c9632a674162af8bdecff98
2018-06-07 17:32:59 +00:00
drh
bd573c459b
Merge recent trunk enhancements.
...
FossilOrigin-Name: e9d7bf4f7b9d6f8dabc4c95d43ebf12f2149bed1c5e750048b1b684128073c38
2018-06-07 14:32:16 +00:00
drh
397776a823
Another minor optimization to OP_Transaction.
...
FossilOrigin-Name: d80077aee3904e5d93164b342cae14d813de8e84e567462412751e06c7487d41
2018-06-06 17:45:51 +00:00
drh
bb2d9b1bf1
Change sqlite3BtreeBeginTrans() to return the BTREE_SCHEMA_COOKIE, for a
...
small speed improvement when starting new transactions.
FossilOrigin-Name: a10662aa915ae2b5a78b3e10920350d32255b2d6b1a8aac0aba1ad173b07ed2b
2018-06-06 16:28:40 +00:00
drh
8c2b6d784b
Add the OP_IfNoHope and OP_SeekHit opcodes used to reduce the number of
...
unnecessary sqlite3BtreeMovetoUnpacked() calls when checking for an early
exit on IN-operator loops. Futher optimizations are likely possible here.
FossilOrigin-Name: 6bf251af4347165a470d39457d61ab6d2a06c206db8f30bd8be5dbb388ae8a5b
2018-06-05 20:45:20 +00:00
drh
8e9deb61af
Update and correct the documentation on the OP_OpenRead, OP_OpenWrite,
...
and OP_ReopenIdx opcodes. No code changes other than the addition of
an assert().
FossilOrigin-Name: 8a0b730d0ea640d5cf75febe39b2162411a12eb5275765a85882158b5a085681
2018-06-05 13:43:02 +00:00
dan
2b1287cf44
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: 83d6416a868fac81a78c9507185a48d00920e4322276245e285946f760915f4a
2018-06-04 08:28:18 +00:00
drh
416a801600
More documentation typo fixes. No code changes.
...
FossilOrigin-Name: 66c24513c2f6de98bd888c3e4c07bbb39fabf30ea9dd01eb255460054055347d
2018-05-31 19:14:52 +00:00
drh
8cdafc384e
Fix a harmless typo in a comment used to generate documentation.
...
FossilOrigin-Name: 5a2a88cb01ef4b299f9a5b2963f392a3bae90e8a7f84b190e67f86090f891e23
2018-05-31 19:00:20 +00:00
drh
4031bafafb
When compiling with SQLITE_DEBUG, add run-time checks to ensure that no
...
statement aborts unless either there have been no writes or else there is
a statement journal.
FossilOrigin-Name: 5a4542dbcf17a9f7fed600897555c271e1651fd50eb41d0b126725b486e1d14c
2018-05-28 17:31:20 +00:00
dan
83023a3357
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: 6232519899efc568465d8fcc9fcd79d46a2ce4ec05109d26d5eb1ebd239cd596
2018-05-25 09:36:27 +00:00
drh
bbd574bc37
Fix a typo in a comment used to generate VDBE opcode documentation. No
...
code changes.
FossilOrigin-Name: 36cdfbf2ce1811691c790fde3eaeed0238c03b4dc97dc3a20d1e0397520145d1
2018-05-24 17:25:35 +00:00
dan
c3a20c19a8
Add support for "ROWS BETWEEN <expr> PRECEDING AND <expr> FOLLOWING" window
...
frames.
FossilOrigin-Name: 3a203660f1e4da3b8d2d605c494f4843f6e00752f28042b49e11d7d6550dd406
2018-05-23 20:55:37 +00:00
drh
4c57e326ef
Remove a branch that is no longer used due to the fix to the
...
sqlite_sequence schema problem, ticket
[d8dc2b3a58cd5dc2918a1d4acbba4676a23ada4c]
FossilOrigin-Name: 066742692a9e8735b814c6a145545f97a7fb10b29cead78e68e25324e79aabaa
2018-05-23 17:53:07 +00:00
dan
86fb6e1738
Start of experimental implementation of SQL window functions. Does not yet
...
work.
FossilOrigin-Name: 3781e520854808fe02ad3fe77dd11fc917448c58ff1fd79123289dd91937decd
2018-05-16 20:58:07 +00:00
drh
0d060a071e
Detect corruption in the form of the sqlite_sequence table pointing to the
...
wrong type of btree.
FossilOrigin-Name: 525deb7a67fbd64726c89d5cc36a54b090111e31239431efeeb2bda9836828e0
2018-03-16 23:59:36 +00:00
mistachkin
5e9825ecc4
Typo fixes in comments. No changes to code.
...
FossilOrigin-Name: 1293d4f64f322ee57510bdff497c54e0be2c9205217e1fd96887bba1f36bec40
2018-03-01 18:09:02 +00:00