1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-16 23:02:26 +03:00
Commit Graph

683 Commits

Author SHA1 Message Date
danielk1977
207872a488 Change OP_OpenRead and OP_OpenWrite so that the database number is read from the P3 operand, not the stack. (CVS 4663)
FossilOrigin-Name: 35da261daf602b1e938f05bbad1ff99213d9f4b9
2008-01-03 07:54:23 +00:00
danielk1977
0d78bae377 Fix EXPLAIN and EXPLAIN query plan to work with new opcode format. (CVS 4662)
FossilOrigin-Name: b166c33a7b9a58d571619d2248019eda09651dd2
2008-01-03 07:09:48 +00:00
drh
2400345a32 Revamp sqlite3VdbeAddOpList() so that the structure holds integer values
for P1, P2, and P3. (CVS 4661)

FossilOrigin-Name: 4dc507d87b242619fe32606452227900e16a6de7
2008-01-03 01:28:59 +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
e448dc4abf Take advantage of the fact that b-tree cursors need not be closed while other cursors modify their tables to simplify trigger program generation code. (CVS 4654)
FossilOrigin-Name: f1966a8a47fca85f7862c0797a527ab01ac8b0c1
2008-01-02 11:50:51 +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
drh
77658e2f0d Make sure statement journals are initiated when doing DROP operations
(since the DROP might fail after sqlite_master changes).  Also make
sure statement journals are initiated if there are pending SELECT
statements.  Ticket #2820. (CVS 4591)

FossilOrigin-Name: bf34284ff0c60ae6e735e09bb29cd48b158e8dce
2007-12-04 16:54:52 +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
ade6c9c513 Declare the invalidateCursorsOnModifiedBtrees function to be static.
Ticket #2792. (CVS 4559)

FossilOrigin-Name: 94f25fc1129c7fb8697a67e509ab9de54a173a58
2007-11-24 10:23:44 +00:00
danielk1977
d0e2a85436 Add an experimental API for retrieving the SQL source from a compiled statement: sqlite3_sql(). Ticket #2769. (CVS 4543)
FossilOrigin-Name: d31f1e0d74a871d66cf7d3ef35faae5171d5cbc3
2007-11-14 06:48:48 +00:00
danielk1977
8e556520e9 Modify the Tcl interface to use sqlite3_prepare_v2(). (CVS 4542)
FossilOrigin-Name: 7bb00c7df672cb8988121f30e3bbdea9ad951603
2007-11-13 10:30:24 +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
drh
a4e5d58f02 Simplify the mem3.c memory allocator. Have it call sqlite3_release_memory()
automatically, without having to specify the soft heap limit. (CVS 4496)

FossilOrigin-Name: ca51b2f54076fcf73a8857aecf4b45d66ef0c7b6
2007-10-20 15:41:57 +00:00
drh
d181704ec5 Simplify the vdbeHalt logic slightly. (CVS 4459)
FossilOrigin-Name: b59f7bcbabcccde9d2519e10e65e121343f2af7a
2007-10-03 18:45:04 +00:00
drh
71b890a3f6 Rollback the transaction if an SQLITE_FULL error is encountered.
This is a preliminary fix for ticket #2686.  More testing and
analysis is needed before we close the ticket. (CVS 4458)

FossilOrigin-Name: 0fb6d5a5773c282882e7283e6f8f8c009e238ff4
2007-10-03 15:30:52 +00:00
drh
60d09a712c Fix the SQLITE_MIXED_ENDIAN_64BIT_FLOAT option so that it works on
goofy linux kernels that employ CONFIG_FPE_FASTFPE.  Patch from
Frank van Vugt. (CVS 4339)

FossilOrigin-Name: 71ab92e900512ad01047b46f734bd5f65998ecf9
2007-08-30 15:05:08 +00:00
drh
fb98264aab Fix for the sqlite3AbortOtherActiveVdbes() problem. (CVS 4328)
FossilOrigin-Name: e40d40a5d41c491bef852a92e5846b273b206909
2007-08-30 01:19:59 +00:00
drh
ff0587c632 Improvements to mutex asserts. The quick test runs to completion without
assertion faults. (CVS 4324)

FossilOrigin-Name: 2732af0ec77dbc90c0439b6a61d893d9ea3b5697
2007-08-29 17:43:19 +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
4cf7c7f7e7 The shared_err test runs with no errors. But a potential deadlock has been
discovered and is still unfixed. (CVS 4317)

FossilOrigin-Name: f84550be0a0c9e5859b852863b9a8f8ed3fd6919
2007-08-28 23:28:07 +00:00
drh
d0679edc7a Clean up the locking in the btree logic. (CVS 4316)
FossilOrigin-Name: 967ab229af462a8ae663090ea36b4cc10e351653
2007-08-28 22:24:34 +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
danielk1977
9663b8f92d Select the default page size for new databases based on the sector-size and IOCAP flags. (CVS 4286)
FossilOrigin-Name: 13dda2e8e879835c21e539ba3ff8f96face1af4c
2007-08-24 11:52:28 +00:00
drh
153c62c461 The win32 driver compiles but does not yet work well. Many bugs
fixed. (CVS 4282)

FossilOrigin-Name: 3a68fcddfa9184e4b310ce0a21312c54b9462ec8
2007-08-24 03:51:33 +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
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
29278e3dbb Remove unnecessary #includes of "os.h". New mutex implementations. (CVS 4255)
FossilOrigin-Name: fbbd5bda544ffec4e1b43407b12e546235dc7873
2007-08-21 10:44:15 +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
f036aef061 Fix full_fsync() related functionality broken as part of the migration to sqlite3_vfs. (CVS 4243)
FossilOrigin-Name: cb24cda179c2b526c5ac48be75e372d2b9db808c
2007-08-20 05:36:51 +00:00
danielk1977
fee2d25a70 Further progress on migration to sqlite3_vfs. (CVS 4242)
FossilOrigin-Name: a258c4ec240f96bccfe493e98d0827ec7dd12e67
2007-08-18 10:59:19 +00:00
danielk1977
b4b47411ab Begin migration to using sqlite3_vfs interface. (CVS 4240)
FossilOrigin-Name: af3e3c7acdc67013dd733effebe981620d922dd1
2007-08-17 15:53:36 +00:00
drh
abb6fcabcb Combine sqlite3DbOfVdbe() and sqlite3VdbeDb() into a single function. (CVS 4236)
FossilOrigin-Name: ba80ee59a72afe36817997de705ef81d876b6f35
2007-08-16 12:24:01 +00:00
danielk1977
1e5369531e More work on refactoring of malloc() interfaces. There are still many errors. (CVS 4233)
FossilOrigin-Name: 77b1671351fe94b0ebc126a63140643deae2aa64
2007-08-16 10:09:01 +00:00
drh
174357527a Half-way through a major refactoring of the memory allocation.
I have not even attempted to compile so I am certain there are
countless errors. (CVS 4231)

FossilOrigin-Name: deb7ecd65f7b83eaf0ba610eeef3b0ede61db1c3
2007-08-16 04:30:38 +00:00
danielk1977
6207906027 Modify the crash-recovery test code in test6.c for 3.5. Also change some other code to use the new sqlite3_io_methods interface. Lots of things are broken now. (CVS 4228)
FossilOrigin-Name: af9503daf3f7703fcddad754bc1dc9e179830b6e
2007-08-15 17:08:46 +00:00
drh
00a18e476a Remove a memory allocation from sqlite3VdbeIOTraceSql(). This means that
when doing I/O tracing, the text of an SQL statement is truncated to the
first 1000 characters.  But it also means tracing works in an out-of-memory
situation. (CVS 4210)

FossilOrigin-Name: 578da2476e356ea35d272e18faf490efedeaf25c
2007-08-13 11:10:34 +00:00
drh
fd131daecd Remove all tabs from source code files. Ticket #2556. (CVS 4198)
FossilOrigin-Name: 7550dd1d5980a399fbb06b4ed69216700f879a0b
2007-08-07 17:13:03 +00:00
danielk1977
d42f8fdc7a Avoid reloading the schema when an expired statement is finalized or reset.
This is only necessary when the in-memory schema does not match the file-system schema. (CVS 4194)

FossilOrigin-Name: 61de5b52daa0a862a04147dbaf71fafb696052f6
2007-08-03 07:33:08 +00:00
danielk1977
182c4ba979 Allow ALTER TABLE on virtual tables. (CVS 4142)
FossilOrigin-Name: 37d1f9f37ea9d2e8a4dbe0ec67c0d6eb7fcc5f3f
2007-06-27 15:53:34 +00:00
drh
647f9ad770 Additional changes for ticket #2426. (CVS 4098)
FossilOrigin-Name: 79debf95cdccdc1f18b6f0fcd213f514e327181c
2007-06-20 11:56:51 +00:00
danielk1977
de523acceb Fix for #2415. The progress handler should abandon only the current query, not all active queries. (CVS 4067)
FossilOrigin-Name: 115e19fe22b9e79fcc400f3a59c80dd9828100e7
2007-06-15 14:53:53 +00:00
danielk1977
3fe11f3021 Have queries interrupted by the progress-handler return SQLITE_INTERRUPT. Rollback any active transaction if a DML statement returns SQLITE_INTERRUPT. (CVS 4061)
FossilOrigin-Name: 33454b5691637da7ded7d18d7f5726b796260c6b
2007-06-13 16:49:48 +00:00
danielk1977
e965ac7773 Fix for #2409. Return SQLITE_IOERR_BLOCKED instead of SQLITE_BUSY in cases where failure to obtain a database lock leaves the cache in an inconsistent state.
See additional information at CorruptionFollowingBusyError. (CVS 4060)

FossilOrigin-Name: ce2c9925d06315d73fb5fd0c7265fb4cd65665aa
2007-06-13 15:22:28 +00:00
drh
7a4f5023a4 Additional comments ono the SQLITE_MIXED_ENDIAN_64BIT_FLOAT issue. (CVS 4029)
FossilOrigin-Name: dd48a31e671de09f59661b2ba1a20e7b9f09099a
2007-05-23 07:20:08 +00:00
danielk1977
2be2be92c4 Avoid passing a negative value to isspace() in a couple places. (CVS 4016)
FossilOrigin-Name: d5db8be3680e16a74edb385dfa3730c66d5f4fd6
2007-05-16 17:50:45 +00:00
drh
cf1023c08d Disable tracing pragmas when not in debug mode. This eliminates an external
dependency on stdout. (CVS 3959)

FossilOrigin-Name: 5a0fe9854849bf3f04008a5dbb7a74e7d0d815ca
2007-05-08 20:59:49 +00:00
drh
5bb3eb9b9a Eliminate all uses of sprintf() and strcpy(). These were not being
misused.  But getting rid of them removes a library dependency.  And
it avoids warnings from the OpenBSD compiler.  Ticket #2336. (CVS 3916)

FossilOrigin-Name: ba4845b32bdf38e623c4f7246e6e327715bbba4b
2007-05-04 13:15:55 +00:00
danielk1977
92d4d7a92e Test cases and corrections to IO and malloc() error handling in incremental blob IO functions. (CVS 3915)
FossilOrigin-Name: 641e55284e1ba6070073c83ac6ed78ffb29f7e60
2007-05-04 12:05:56 +00:00
drh
110daac9a1 Add compile-time option -DSQLITE_MIXED_ENDIAN_64BIT_FLOAT=1 that uses
mixed-endian doubles.  This is needed on ARM7 to make database file
formats compatible with all other processors.  Tickets #2278 and #2335. (CVS 3913)

FossilOrigin-Name: 2a178d0c7950c9d403c0bc43c2043de945fb24e0
2007-05-04 11:59:31 +00:00