drh
59bf00cb54
Another simplification to the OP_MakeRecord opcode, making it slightly
...
faster and very slightly smaller.
FossilOrigin-Name: f2f5a3ce9d075c4b1ac586c5db3a623d9035402d
2013-12-08 23:33:28 +00:00
drh
2a24287639
Avoid unnecessary calls to sqlite3VarintLen() from the OP_MakeRecord opcode.
...
FossilOrigin-Name: 7a234fc3c5e7970ffe0b8d6ac33c26acb64b5c4d
2013-12-08 22:59:29 +00:00
drh
28935364ef
If the SQLITE_ENABLE_CURSOR_HINTS macro is defined, then invoke the
...
sqlite3BtreeCursorHint() interface to provide hints to the storage engine
about rows that need not be returned. Hints can be disabled using
SQLITE_TESTCTRL_OPTIMIZATIONS with SQLITE_CursorHints (0x2000). Cursor
hints are not used by the built-in storage engine of SQLite but might
be useful to applications that provide their own storage engine. The
current code is work-in-progrss and contains bugs.
FossilOrigin-Name: 3a9bec524ef2de44028b4058e67dc962082888d3
2013-12-07 20:39:19 +00:00
drh
5b8d1ab454
Merge all recent trunk changes.
...
FossilOrigin-Name: 3a2a1bd47875e114d8e6f31c1768908f401d2861
2013-11-27 21:53:51 +00:00
drh
2c77be054a
Remove unnecessary local variables from sqlite3VdbeExec() in order to
...
reduce stack-space requirements of that routine.
FossilOrigin-Name: 81891288d9f281cf2ceb4cd701c0c3231b1bab19
2013-11-27 21:07:03 +00:00
drh
bbbb0e8053
Make sure the update hook is not invoked for WITHOUT ROWID tables, as
...
the documentation specifies. This bug was found while adding requirements
marks, so a few extraneous requirements marks are included in this
check-in.
FossilOrigin-Name: 0978bac6b8aee229d7a0d148546f50d380d06a06
2013-11-26 23:27:07 +00:00
dan
aa1776f093
Reduce the amount of code used to implement OP_SeekGe and similar.
...
FossilOrigin-Name: 8b12a15a2a8139d75f56a099f3f6af844da3ac9c
2013-11-26 18:22:59 +00:00
drh
1b2ee4fe1a
Merge in performance enhancements from trunk.
...
FossilOrigin-Name: fc9ae839569eb28eb734c52d95676c59b2e27494
2013-11-26 18:00:29 +00:00
drh
de1a8b8c69
Change the REAL-to-INTEGER casting behavior so that if the REAL value
...
is greater than 9223372036854775807.0 then it is cast to the latest
possible integer, 9223372036854775807. This is sensible and the way
most platforms work in hardware. The former behavior was that oversize
REALs would be cast to the smallest possible integer, -9223372036854775808,
which is the way Intel hardware works.
FossilOrigin-Name: 6f53fc7106658d44edf63068f9a8522fa5a7688b
2013-11-26 15:45:02 +00:00
drh
ebf10b1fb4
Uses shifts rather than division for arithmetic on the cell indices, since
...
those indices are always non-negative.
FossilOrigin-Name: 5bf2a3feeb2c83671bf3edeb20a549239e6873bf
2013-11-25 17:38:26 +00:00
drh
501932ca68
Changes some offset and amount parameters from "int" to "u32" to avoid
...
harmless signed/unsigned comparison warnings.
FossilOrigin-Name: 4e8c5d0795cb7c603182bfa70f3855d654f0997e
2013-11-21 21:59:53 +00:00
drh
e09f43f8b7
Another improvement to OP_Function and an improvement to OP_Move.
...
FossilOrigin-Name: 70b056fb6f60cdfbe24e4b77a1770eef064a73c6
2013-11-21 04:18:31 +00:00
drh
76694c3ae5
A simple change to the OP_Function opcode improves overall performance by
...
about 0.5%.
FossilOrigin-Name: b890eefd57fbd189f7df611e82eb1fb4b197e1c3
2013-11-21 03:43:12 +00:00
drh
f93cd949a0
Performance optimization to the OP_Next and OP_Prev opcodes.
...
FossilOrigin-Name: ecaac28a2e78aca148fc614fe54bf2706aed8be2
2013-11-21 03:12:25 +00:00
drh
5cc1023e1c
Reduce the size of VdbeCursor again, this time without a performance hit.
...
FossilOrigin-Name: 933939932c44bccb0958f203a5bd24e683c1cf38
2013-11-21 01:04:02 +00:00
drh
1fd522ff49
Unpack some fields, adding some space back to the VdbeCursor object,
...
in order to help the code to run a little faster.
FossilOrigin-Name: f8d5efcd7b92492b833b6cd1cb6bec006c6a0809
2013-11-21 00:10:35 +00:00
drh
14da87f8c5
Reduce the size of the VdbeCursor object from 144 to 120 bytes.
...
FossilOrigin-Name: 5f9d50688508affd0bc8e4d52e21dacfacdbb5ce
2013-11-20 21:51:33 +00:00
drh
380d685133
Improved comments on the OP_Column changes. Optimize out loading of overflow
...
pages for content with zero length. Add test cases for the latter.
FossilOrigin-Name: 0e05679db7aa302a49e087a81f85203844b98cbe
2013-11-20 20:58:00 +00:00
drh
c8606e416a
Further performance tweaks to OP_Column.
...
FossilOrigin-Name: 0e3f5df695216a27602a53eed5d25231b055adc8
2013-11-20 19:28:03 +00:00
drh
399af1d2c2
Refactoring the OP_Column opcode for improved performance and
...
maintainability.
FossilOrigin-Name: 7c914e3997d2b28164a2fa7eb4398262b6ddb4b2
2013-11-20 17:25:55 +00:00
drh
79353dbd5f
Simplifications to the VdbeCursor object.
...
FossilOrigin-Name: 5562cd343d8f69242e06a51a7f1aef7ee7d78eec
2013-11-20 02:53:58 +00:00
drh
83b301b0af
Performance improvement for the OP_MustBeInt opcode in the VDBE.
...
FossilOrigin-Name: 96a65388e75fed96e2e73ef65726f6db88cc5ccd
2013-11-20 00:59:02 +00:00
drh
40864a1401
Fix comments on the OP_Divide and OP_Remainder operators, especially the
...
"Synopsis:" comment, so that they agree with the actual implementation.
FossilOrigin-Name: cc17f1f05f15e9c62659a49c0656ff2b667bf701
2013-11-15 18:58:37 +00:00
drh
72dbffd726
Fix a typo in the "synopsis" for the OP_Lt opcode that causes an
...
incorrect comment to be added to EXPLAIN output.
FossilOrigin-Name: d99a30a25d6102c389f1fb5ec389c137168615e9
2013-11-15 03:21:43 +00:00
drh
212c6be141
Merge the skip-scan optimization into the sessions branch.
...
FossilOrigin-Name: 7596d1bf8040f7cefc7b22c5e609acc5d66820bf
2013-11-14 19:18:39 +00:00
drh
400fcbad71
Simplification to the progress callback check. On branch removed.
...
FossilOrigin-Name: 24ef16548eebcdb9d8b40308f6a16dabf8f8d474
2013-11-14 00:09:48 +00:00
drh
e6400b9901
Make sure the progress callback is invoked prior to an SQLITE_ROW return if
...
it is overdue to be called.
FossilOrigin-Name: 21f59b04f74738d08ebad693646bbaea24dc45ef
2013-11-13 23:48:46 +00:00
drh
84e55a80db
Add the "PRAGMA vdbe_eqp" command, only available with SQLITE_DEBUG. Simplify
...
some of the other debugging logic.
FossilOrigin-Name: 8ce33f4c818e1c785a1c176f6f631b8184e1166b
2013-11-13 17:58:23 +00:00
drh
cbf1b8ef7d
Merge in the WITHOUT ROWID changes. A few tests are failing now. They will
...
be fixed in a follow-on check-in.
FossilOrigin-Name: 5addd1234ded59ce60fb633b76ac87d483377edd
2013-11-11 22:55:26 +00:00
drh
4308e348d7
Remove unreachable code, replacing it in most cases with assert() or NEVER()
...
macros.
FossilOrigin-Name: 924d63b283a3d059838114c95d42c6feaf913529
2013-11-11 16:55:52 +00:00
drh
3da046d8ba
Convert several ALWAYS() macros in vdbe.c into assert() statements.
...
FossilOrigin-Name: acc40ff6b47595432ebc1b3ec71ac50384bec323
2013-11-11 03:24:11 +00:00
drh
af1c01c107
Fix a problem in OP_IdxDelete as used by REPLACE conflict resolution that
...
comes up due to recent enhancements that reduce the work required for
UNIQUE NOT NULL indices.
FossilOrigin-Name: 61d7d4753f36932293c0eb1ca893b17d18355ad3
2013-11-11 00:43:21 +00:00
drh
fc8d4f96b4
Performance improvements:
...
Avoid unnecessary seeks when doing a single-row UPDATE on a WITHOUT ROWID
table.
FossilOrigin-Name: 6f187a0fb1b09ebc4732c4afbf3c813f82e069f1
2013-11-08 15:19:46 +00:00
drh
41e13e1268
Make sure cached KeyInfo objects are only valid for a single database
...
connection. Clear all cached KeyInfo objects on any collating sequence
change.
FossilOrigin-Name: 55eea1782aead6a6aaf93f14d85486f8fd2209ad
2013-11-07 14:09:39 +00:00
dan
93889d9335
Have the OP_NoConflict opcode set the VdbeCursor.seekResult variable. This speeds up subsequent OP_Insert and OP_IdxInsert opcodes.
...
FossilOrigin-Name: 474555002d45f8741faceea599c057eef4e7931e
2013-11-06 16:28:59 +00:00
drh
b41392241e
Allocate extra stack space for UnpackedRecord objects, reducing the need
...
to malloc for them as often, and thereby get a performance improvement.
FossilOrigin-Name: a725a75f870d7d9b21946fbcc71a956492986ab0
2013-11-06 14:36:08 +00:00
drh
d9b7ec9348
Minor optimization to the OP_Halt opcode.
...
FossilOrigin-Name: d70c78814ba565a44628eab61a3a0a5dba56269a
2013-11-06 14:05:21 +00:00
drh
f9c8ce3ced
Standardize the error messages generated by constraint failures to a format
...
of "$TYPE constraint failed: $DETAIL". This involves many changes to the
expected output of test cases.
FossilOrigin-Name: 54b221929744b1bcdbcc2030fef2e510618afd41
2013-11-05 13:33:55 +00:00
drh
6546af1480
Correctly handle changing counting when inserting and deleting on
...
WITHOUT ROWID tables. Add more FOREIGN KEY test cases.
FossilOrigin-Name: d072bcd0a8692d590c13c2bf458454c10c12a3e2
2013-11-04 15:23:25 +00:00
drh
2552d43f4c
Improved Synopsis on register comparison operators. Fix a bug on the
...
constraint check generator.
FossilOrigin-Name: a7a18b65fa34dfdf6117fa21db3e576f96876617
2013-11-02 22:29:34 +00:00
drh
1153c7b25d
Size KeyInfo objects so that IdxInserts always compare the correct number of
...
fields.
FossilOrigin-Name: 302a81390f039fc23eeb8510e95b9d9fa0b41edd
2013-11-01 22:02:56 +00:00
drh
313619f572
Fix the Synopsis on OP_Concat. Added test_addop_breakpoint() during
...
SQLITE_DEBUG. Enhanced sqlite3VdbeChangeToNoop() to omit the instruction
if it is the most recent added. Continue to fix problems with UPDATE
and WITHOUT ROWID.
FossilOrigin-Name: 9b6d9e106aaa3c2efb33d234d26cf08cd3c967b9
2013-10-31 20:34:06 +00:00
drh
ee0ec8e1db
Fix issues with quering from an auxiliary index that must refer back to the
...
PRIMARY KEY index of a WITHOUT ROWID table.
FossilOrigin-Name: cff1f55c52ff57557d9b728a5cd830a367091794
2013-10-31 17:38:01 +00:00
drh
26198bb481
Refactor the INSERT, DELETE, and UPDATE code generators to distinguish between
...
the "data cursor" and the "first index cursor", which are no longer consecutive
in the case of a WITHOUT ROWID table.
FossilOrigin-Name: 1adfca6019847d37dee4a297669f29d5ca184066
2013-10-31 11:15:09 +00:00
drh
6fbe41acf2
Continue working to get UPDATE operational for WITHOUT ROWID tables.
...
Fix PRAGMA integrity_check so that it works on WITHOUT ROWID tables.
FossilOrigin-Name: 0d4fea7462c0f61cd1c736cbcd7bea5ec2034d54
2013-10-30 20:22:55 +00:00
drh
4af5bee41d
Merge EXPLAIN enhancements from trunk.
...
FossilOrigin-Name: 2fcac056074f0a23884ab5425003a7ca1d35c2a8
2013-10-30 02:37:50 +00:00
drh
f63552b258
Enhanced display of register ranges in the auxiliary comments added to EXPLAIN.
...
FossilOrigin-Name: d6b0c39281d0751ecec04d7c19d9d2931d133e8e
2013-10-30 00:25:03 +00:00
drh
28b87d857b
Import the automatic comment generating changes from trunk.
...
FossilOrigin-Name: 8bb51da1305d5e35c7b75bbb176c21e04ea2a48a
2013-10-29 20:47:26 +00:00
drh
81316f8908
Automatically generated comments on many VDBE opcodes when in SQLITE_DEBUG
...
most. Comments derive from the "Synopsis:" field added to each opcode
definition in vdbe.c.
FossilOrigin-Name: 5f310c6a22b8bb5f860296074aee130c14101681
2013-10-29 20:40:47 +00:00
drh
d63d4b7bd7
Merge all trunk changes since 3.8.1 into the sessions branch.
...
FossilOrigin-Name: aa72ea8a004de7fe744fc13baef19d05aea607d5
2013-10-28 22:47:24 +00:00