1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-08 03:22:21 +03:00
Commit Graph

640 Commits

Author SHA1 Message Date
drh
477df4b3ac Modify OP_RegMakeRec to take a base register and count and optionally
store results in the register specified by P3. (CVS 4689)

FossilOrigin-Name: 6bb1b1bc1858028b743a4f660d42d5e9595dc022
2008-01-05 18:48:24 +00:00
danielk1977
a9d1ccb9b0 First pass at optimizing max()/min() as described in #2853. Some refinements to come. (CVS 4687)
FossilOrigin-Name: c449e04f1870b1ff726c95c0bf1c6c6a22ca588a
2008-01-05 17:39:29 +00:00
danielk1977
287fb61c6b Some modifications to insert.c to work without using the stack. (CVS 4678)
FossilOrigin-Name: d9ac6beef538376d0ea0a1daa95cf1dfe36143cf
2008-01-04 19:10:28 +00:00
danielk1977
96cb76fc7a Modify the code generated for a DELETE to use registers instead of the vdbe stack. (CVS 4675)
FossilOrigin-Name: 173f281334d340290e1978abea5d1ea804141910
2008-01-04 13:24:28 +00:00
drh
389a1adbd7 Change the sqlite3ExprCode() function so that callers can request that
the result of the expression be left on the stack or in a register. (CVS 4673)

FossilOrigin-Name: 61bfb77c4267b99ac8a8ef49355bcbc395a1a37b
2008-01-03 23:44:53 +00:00
drh
2133d82287 Update OP_Rowid, OP_Column and related opcodes to use registers. (CVS 4671)
FossilOrigin-Name: 4f3967073d2df9eae5a61b9770d5de2e1af47b4c
2008-01-03 18:44:59 +00:00
danielk1977
2a339ff677 Modify OP_VUpdate to read arguments from a range of memory cells instead of from the stack. (CVS 4668)
FossilOrigin-Name: 955b15a020e9ea6401fe03a36f5139a03ea80b8a
2008-01-03 17:31:44 +00:00
danielk1977
2dca4ac1d3 Change the VdbeOp.p4 union to include specific pointer types for the various values of VdbeOp.p4type. (CVS 4667)
FossilOrigin-Name: 7e8330c8044dc7718e720dbd33f6e2fe970ead77
2008-01-03 11:50:29 +00:00
danielk1977
1f4aa337cd Change the OP_Insert opcode to read the key and data to insert from memory cells, not the stack. (CVS 4666)
FossilOrigin-Name: 46501f490a5f5577ea31c758df749e02c7c65f39
2008-01-03 09:51:55 +00:00
drh
66a5167b47 Refactoring the VM. The P3 parameter is changed to P4. A P5 parameter is
added (though not currently used.)  Add routines sqlite3VdbeAddOpX() where
X is one of 0, 1, 2, 3, or 4. (CVS 4660)

FossilOrigin-Name: 027875e4d4c4bd7686dc880c6917a968049b2fec
2008-01-03 00:01:23 +00:00
danielk1977
9ed1dfa802 Minor optimizations for sub-selects in EXISTS(...) expressions: Discard any DISTINCT or ORDER BY clauses and do not calculate any column values. (CVS 4658)
FossilOrigin-Name: fbd17a8976cc9b4dd7c7c903d8beade9a7ef095f
2008-01-02 17:11:14 +00:00
danielk1977
6c8c8ce0e2 Combine the eDest and iParm arguments to sqlite3Select() into a single type - "SelectDest". (CVS 4657)
FossilOrigin-Name: 86dcdfe6d7d629618ccb3c3ff0ca09f2da2d06c7
2008-01-02 16:27:09 +00:00
drh
d4e70ebd6f Begin setting a foundation on which to convert the VM from a stack-based
to a register-based machine.  Everything is still mostly stack based with
this check-in.  This change merely begins adding infrastructure to support
a register-based architecture. (CVS 4652)

FossilOrigin-Name: 051ec01f2799e095516015f2ef0180e50fac387c
2008-01-02 00:34:36 +00:00
danielk1977
8f2c54e6e2 Optimize trigger compilation to avoid populating the OLD.* and NEW.* pseudo-tables with data that will never be used. Some testing to come. (CVS 4651)
FossilOrigin-Name: e08a33ed7255c22ce2805363f44a1d7770acb2dd
2008-01-01 19:02:09 +00:00
drh
1e281291fb ORDER BY in a compound SELECT will first match against the left-most SELECT.
If there is no match there, it begins working its way to the right. (CVS 4621)

FossilOrigin-Name: 56063ec84b130bcdb0e90bc76fabca394d0d867f
2007-12-13 03:45:07 +00:00
drh
d919fe17e0 Build the CLI using the amalgamation. Relax the limit on SQL statement
length when building the CLI. (CVS 4609)

FossilOrigin-Name: a5d81cd371913dff4b1337a9586645f967371ab9
2007-12-11 19:34:44 +00:00
drh
e5fe690d75 In shared-cache mode, make sure the busy hander invoked is the
busy handler associated with the database connection that caused
the lock contention in the first place. (CVS 4598)

FossilOrigin-Name: c9eb65912f61ce0a6b66fe253652a1827e46b12a
2007-12-07 18:55:28 +00:00
drh
ddac25c732 Add the ability to change the autovacuum status of an existing database
by setting the auto_vacuum pragma then running the VACUUM command. (CVS 4592)

FossilOrigin-Name: bdfc19e838b369a8c5d5d23663fad690f55ba3d7
2007-12-05 01:38:23 +00:00
danielk1977
9a96b66810 Optimisations for expressions of the form "<value> IN (SELECT <column> FROM <table>)". (CVS 4579)
FossilOrigin-Name: 56d0e32677744df8570b519fae1c04da4ea4984d
2007-11-29 17:05:18 +00:00
drh
ade8648301 Add the {quote: StrAccum} object
for accumulating strings.  Revamp xprintf to use
the new object.  Rewrite the group_concat() function to use the new object.
Productize and test the group_concat() function. (CVS 4578)

FossilOrigin-Name: 221aee72be040769e8026b91648f03c6366a8821
2007-11-28 22:36:40 +00:00
drh
b6dbc00078 Add likely() and unlikely() macros to the header file. They are not
yet used for anything. (CVS 4562)

FossilOrigin-Name: 485add38a1ef224732575f9998f06466dcc9742d
2007-11-27 02:38:00 +00:00
drh
454ad58c3f Use macro __DARWIN__ rather than __MACOS__ for conditional
compilation of MacOSX specific features.  Ticket #2780. (CVS 4561)

FossilOrigin-Name: d0a4c2a36385c03dfadbb844823d0ed2458bf619
2007-11-26 22:54:27 +00:00
danielk1977
390025053e Allow collation sequence names to be quoted. Ticket #2744. (CVS 4537)
FossilOrigin-Name: 06749ac7afeea4adbdeb9315f3819d5224534c66
2007-11-12 09:50:26 +00:00
drh
9e0ebbfa41 Add comments to the code warning that _XOPEN_SOURCE might need to be
defined manually if using USE_PREAD or USE_PREAD64. (CVS 4509)

FossilOrigin-Name: d7ed7cd077fe5f9ffba2bca48b84b231ccfd85b0
2007-10-23 15:59:18 +00:00
drh
71674ce9ce Make sure the _LARGEFILE_SOURCE macro occurs before any system
includes.  Ticket #2739. (CVS 4508)

FossilOrigin-Name: 36465aeb1f8f92d336faf16c25608c9a8a6585d3
2007-10-23 15:51:26 +00:00
drh
598f134020 Floating point and 64-bit integer constants store in the virtual
machine opcodes in binary, not as text.  Performance improvement.
Ticket #2733. (CVS 4507)

FossilOrigin-Name: 7e30fd6a09899842c922b044714dc66796e545d4
2007-10-23 15:39:45 +00:00
danielk1977
b5258c3db3 Fixes for OMIT_AUTHORIZATION builds. #2691. (CVS 4466)
FossilOrigin-Name: 755fcaf7e355042d88fed6b9b49669300b010695
2007-10-04 18:11:15 +00:00
danielk1977
ae72d98252 Add automatic recovery from the pager "error-state". Also add a new error code - SQLITE_IOERR_NOMEM. (CVS 4454)
FossilOrigin-Name: 12eca32a6a3d68d5b20eed03afdffe7599e66014
2007-10-03 08:46:44 +00:00
drh
e5e7a901bd Additional #ifdefing around _XOPEN_SOURCE. Ticket #2681. (CVS 4452)
FossilOrigin-Name: eb5d78451ee2a5d8480537530f30fbb305bf7632
2007-10-01 17:47:00 +00:00
drh
6708061770 Omit the _XOPEN_SOURCE 500 define on Mac OS-X. Ticket #2673 (CVS 4450)
FossilOrigin-Name: 0bbf654b6745058a705ef5c320bdd5fb06735271
2007-10-01 14:30:14 +00:00
danielk1977
aaa40c1c8f Another comment typo. Also #2660. (CVS 4444)
FossilOrigin-Name: 0c1e6f69cd55ced4af5dcfbeff04820ba0d5b051
2007-09-21 04:28:16 +00:00
drh
728b577934 Remove unneeded pSchema field from the Expr structure. (CVS 4434)
FossilOrigin-Name: b2d605a2714245febb316a24edc7a076e21a3849
2007-09-18 15:55:07 +00:00
drh
33f4e02af6 Honor the SQLITE_OPEN_ flags passed into sqlite3_open_v2(). Some
test cases added but more are needed.  Ticket #2616. (CVS 4376)

FossilOrigin-Name: 020a2b10d408f51d4ef3211c5f701f5378fd4625
2007-09-03 15:19:34 +00:00
danielk1977
e6a58a4e2a Allow sqllimits1.test to be run from a regular build of testfixture. Add the 'amalgamation-testfixture' target to main.mk - to build testfixture via sqlite3.c. (CVS 4354)
FossilOrigin-Name: d119427314d27f291b605073d34826cdb89746c1
2007-08-31 17:42:48 +00:00
drh
c7ce76af8f Bug fixes in the mutex header file. Tickets #2599 and #2600. (CVS 4335)
FossilOrigin-Name: 4bdfe1419c536fec5b3c0a7fbe3d0ff52f183f43
2007-08-30 14:10:30 +00:00
danielk1977
a1644fd863 Modifications to the malloc failure tests to test transient and persistent failures. (CVS 4321)
FossilOrigin-Name: e38ef81b85feb5bff2ad8448f3438ff0ab36571e
2007-08-29 12:31:25 +00:00
drh
437b901371 Break up the mutex implementation into separate source files, one
each for unix, w32, and os2. (CVS 4312)

FossilOrigin-Name: fc5cd71aef5ac194f51d73350d773d532020967e
2007-08-28 16:34:42 +00:00
drh
900b31ef49 Work toward correct btree locking in a multithreaded environment. (CVS 4307)
FossilOrigin-Name: b8cc493b47e618648f645ab73eb0253739e03fcd
2007-08-28 02:27:51 +00:00
drh
46c99e0f5d Work around problem with forward declarations of constants in MSVC
in the amalgamation.  Ticket #2574. (CVS 4304)

FossilOrigin-Name: dc80b2e1f4e1d31479aad9f39e651e62f2601fb8
2007-08-27 23:26:59 +00:00
drh
97c8ec325d Bring the amalgamation builder up to date with the latest changes.
Remove some vestigial code. (CVS 4303)

FossilOrigin-Name: 0ae30e5c76d9094307ea086a9993a953631ab9da
2007-08-27 21:49:34 +00:00
drh
058897a92e Use recursive mutexes in pthreads. If the pthreads implementation does not
support recursive mutexes, then you cannot compile SQLite with
SQLITE_THREADSAFE=1.  Ticket #2588. (CVS 4297)

FossilOrigin-Name: 1668284d151e78d16b0d83bf55dfd9d349a452a7
2007-08-25 14:39:45 +00:00
danielk1977
f55b899824 Add tests to simulate power-failure on devices that support IOCAP_SEQUENTIAL or IOCAP_SAFE_APPEND. (CVS 4284)
FossilOrigin-Name: bdf5cb8d25d93d48220ce46acad2ccf967a87843
2007-08-24 08:15:53 +00:00
drh
4a50aac564 Improvements to memory leak detection. The --backtrace=NNN option is now
recognized by tester.tcl.  Memory leak summaries are automatically written
to the file ./memleak.txt and each leak is tagged with the test in which
it occurred.  The quick.test script runs on Linux with no errors and
no leaks. (CVS 4273)

FossilOrigin-Name: 21f6b31097692171c6493e6ca6de6acbd62dc595
2007-08-23 02:47:53 +00:00
drh
cab5ed7a57 Get the quick.test script running with SQLITE_THREADSAFE enabled. (CVS 4269)
FossilOrigin-Name: 1f28b7e47bba221c14a10a37e7425c9975bb2312
2007-08-22 11:41:18 +00:00
danielk1977
c7b6017c8a Add code for the atomic-write optimisation. Disabled by default. (CVS 4268)
FossilOrigin-Name: 581fadfe31757e3fb97b12f93c1e3c085e4b6009
2007-08-22 11:22:03 +00:00
drh
b21c8cd4f6 The sqlite3_value object now carries an sqlite3* pointer to use for
recording malloc failures.  This eliminates the need to pass sqlite3*
pointers into many internal interfaces.  Also added more mutexing. (CVS 4263)

FossilOrigin-Name: 9287276191a582c1cf7cf6b71d8399727d8e534d
2007-08-21 19:33:56 +00:00
drh
51fc347a2e Remove the obsolete static mutexes. Use only the lastest static mutex code. (CVS 4259)
FossilOrigin-Name: 6225cd461cdd2132eeb480aa4deb8986b7f63c15
2007-08-21 13:51:23 +00:00
drh
d677b3d688 Work toward multithreading support. Currently crashes quickly on a test. (CVS 4253)
FossilOrigin-Name: 1315bd8e125602275fb718780f9b2730bd37f6ab
2007-08-20 22:48:41 +00:00
danielk1977
967a4a1c96 Changes to crash-test io backend (test6.c) so that it works with the sqlite3_vfs interface. (CVS 4247)
FossilOrigin-Name: 40f66ada815fa1043d24c9cd6d898e1797e7044a
2007-08-20 14:23:44 +00:00
danielk1977
b4b47411ab Begin migration to using sqlite3_vfs interface. (CVS 4240)
FossilOrigin-Name: af3e3c7acdc67013dd733effebe981620d922dd1
2007-08-17 15:53:36 +00:00