1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-12 13:01:09 +03:00
Commit Graph

441 Commits

Author SHA1 Message Date
danielk1977
dfb316d432 Changes to delay freeing buffers associated with vdbe memory cells until either sqlite3_finalize() or sqlite3_release_memory() is called. (CVS 4922)
FossilOrigin-Name: 8c2f69521f13bc24cf005520efbe0589eeadd763
2008-03-26 18:34:43 +00:00
drh
e14006d0de Modify the {quote: IdxDelete} opcode so that it takes an array of registers rather
than a record formed using {quote: MakeRecord.}  This avoids a needless packing
and unpacking of the record to be deleted. (CVS 4916)

FossilOrigin-Name: ee381b43563e1b0637ee74389d076dff77deddf9
2008-03-25 17:23:32 +00:00
drh
1e968a0cbf Removed the direct btree tests - part of the ongoing effort to test by
calling only public interfaces.  Modify the sqlite3VdbeRecordCompare
interface to used a pre-parsed second key - resulting in a 13%
performance improvement on speed1p.test. (CVS 4911)

FossilOrigin-Name: 0e1d84f2f456e7680bb667266745b629ddf3605f
2008-03-25 00:22:21 +00:00
danielk1977
a7a8e14bf2 Where possible, avoid freeing buffers allocated for vdbe memory cells in case they can be reused. (CVS 4783)
FossilOrigin-Name: 990237e27e417aff3dbf05784b716c21f3761a3a
2008-02-13 18:25:27 +00:00
drh
69544ec9cb Add the sqlite3_result_error_code() application interface. Use it in the
ATTACH function so that a failed attach returns a proper error code.
Ticket #2914. (CVS 4775)

FossilOrigin-Name: c24616204307936d03d39d2ef0fe6856113f6977
2008-02-06 14:11:34 +00:00
drh
9d36b4da99 Fix an incorrect comment on the Mem object in vdbeInt.h. (CVS 4752)
FossilOrigin-Name: 50c9cf9bbbe858d53697b4d3a0c1ec2d63ff5b18
2008-01-28 15:19:26 +00:00
drh
643167ff21 Add the fault injector module in fault.c. Use it as a basis for memory
allocation failure testing. (CVS 4742)

FossilOrigin-Name: 1a335e180183b414fcc3510ce28b98b21cd134a6
2008-01-22 21:30:53 +00:00
drh
9cbf3425fb Registerification of the VDBE is complete. The operand stack has been
removed from the code.  All instructions operate out of registers only. (CVS 4718)

FossilOrigin-Name: 706b41b70bd1e2030e6fa44358c38a26c5cf0985
2008-01-17 16:22:13 +00:00
drh
3a40f696d4 Replace the NOPUSH_MASKs with a bit-vector mechanism that can contain
several different properties about each opcode. (CVS 4677)

FossilOrigin-Name: 042dcb9621934d0318a7c6e9cd08b20a569db367
2008-01-04 16:50:09 +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
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
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
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
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
182c4ba979 Allow ALTER TABLE on virtual tables. (CVS 4142)
FossilOrigin-Name: 37d1f9f37ea9d2e8a4dbe0ec67c0d6eb7fcc5f3f
2007-06-27 15:53:34 +00:00
danielk1977
246ad31db6 Omit some extra code when OMIT_INCRBLOB is defined. (CVS 4014)
FossilOrigin-Name: 1d89be287d34423b1a405cde0490260e7c731f07
2007-05-16 14:23:00 +00:00
drh
87cc3b3180 Remove compiler warnings in the amalgamation. (CVS 3960)
FossilOrigin-Name: c5754530c6b1a8151c558f33d27fed70c95a988b
2007-05-08 21:45:27 +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
023ae03a72 Begin adding code to explicitly limit the size of strings and blobs. (CVS 3943)
FossilOrigin-Name: 031a5915b68ec6827fee38b8b9dc74a9e0e09302
2007-05-08 12:12:16 +00:00
drh
fdf972a9ba Add support for zero-blobs to the OP_MakeRecord opcode.
First test cases of zeroblob functionality. (CVS 3897)

FossilOrigin-Name: e6d560ddeeb48fb0cbd9f5a10612280b055baef7
2007-05-02 13:30:27 +00:00
drh
8cff382e7d Fix some compiler warnings. Add the (untested) zeroblob() SQL function. (CVS 3895)
FossilOrigin-Name: 6f4f8ba7ec15f214f36fa78e593dd4522ab717f5
2007-05-02 02:08:28 +00:00
drh
b026e05eb2 Begin adding the zeroblob API to support incremental blob i/o. (CVS 3894)
FossilOrigin-Name: 7a01836dde45098796693bc6cb6045c4059adf1a
2007-05-02 01:34:31 +00:00
drh
3c024d6973 Remove the anonymous union from the sqlite3_value structure since some
compilers are unable to deal with it. (CVS 3758)

FossilOrigin-Name: 6b995259bc974519379dee55c1ef00d28c76bf21
2007-03-30 11:23:45 +00:00
drh
4f0c587819 Modify sources to that they can be combined into a single sqlite3.c source
file.  Eliminate all type-pruned pointer warnings. (CVS 3722)

FossilOrigin-Name: 0b832e218ec12b0eb559e407d80aba6709e2ea85
2007-03-26 22:05:01 +00:00
drh
4e78be693c Make sure the vdbeInt.h file is not #included multiple times. Ticket #2194. (CVS 3608)
FossilOrigin-Name: 93edd3b0565d08383b3034c57f221073fde6de4b
2007-01-26 21:08:04 +00:00
drh
b900aaf34a First cut at adding the sqlite3_prepare_v2() API. Test cases added, but
more testing would be useful.  Still need to update the documentation. (CVS 3506)

FossilOrigin-Name: f1efae9224170c9155afcf17ab3ee769a557b874
2006-11-09 00:24:53 +00:00
drh
edb193b766 Changes so that it will build with SQLITE_OMIT_VIRTUALTABLE=1. (CVS 3309)
FossilOrigin-Name: 5612b287059c75488f995625d447c4e9521d1637
2006-06-27 13:20:21 +00:00
danielk1977
cc013f891c Clean up and clarify code in test8.c. (CVS 3289)
FossilOrigin-Name: 4acf7594a6c47142e7112d2cd9766a563401879b
2006-06-24 06:36:11 +00:00
danielk1977
212b218c88 Allow xDestroy methods to execute "DROP TABLE" statements. (CVS 3287)
FossilOrigin-Name: a56bfa560425a5dc9273229f8838471dfc402024
2006-06-23 14:32:08 +00:00
danielk1977
be71889703 Add tests and fixes for handling malloc() failures related to the virtual table feature. (CVS 3285)
FossilOrigin-Name: 5d1d907189ff3ca7afada83033280cf258984ac0
2006-06-23 08:05:19 +00:00
drh
9eff616750 Added code to iterate through virtual tables. All regression tests pass
but the new code is completely untested. (CVS 3219)

FossilOrigin-Name: 010965433140fbe508a907d861dbad79343bf7c2
2006-06-12 21:59:13 +00:00
drh
3bc0e05c61 Make provisions in the code to support Provisions to support caching of
serialized statements in the SSE extension. (CVS 3139)

FossilOrigin-Name: 5048fae04227857c064c0ba48eb11bedeb467df0
2006-03-16 14:05:14 +00:00
drh
74161705f1 Remove unused parameters on internal APIs. Suppress warnings from
CodeWarrior. (CVS 3110)

FossilOrigin-Name: 4b22e4b847f8d5c29830baea541194ef3a0c4811
2006-02-24 02:53:49 +00:00
drh
90669c1dca Fix and test the processing of sqlite3_result_error() withing aggregate
functions.  Allow errors to come from the step function (a new
capability).  Ticket #1632. (CVS 2981)

FossilOrigin-Name: fd4a6bb1ac94d085dda247799c0a5c64aaeec046
2006-01-20 15:45:36 +00:00
drh
76873ab240 Invalidate all VDBE cursor row caches in between calls to sqlite3_step()
since the emphemeral content that those caches point to might change if
the statement is READ UNCOMMITTED. (CVS 2886)

FossilOrigin-Name: 0ae461313c1642a49a9f6cda608c42c7c0053ce4
2006-01-07 18:48:26 +00:00
drh
d946db0064 Add serial-types 8 and 9 for integer constants of 0 and 1 that use zero
bytes of storage.  Make the default file format 4.  Add the
SQLITE_DEFAULT_FILE_FORMAT compile-time option to lower the default
file format number so that newly created databases can be read and
written by older versions of SQLite. (CVS 2845)

FossilOrigin-Name: ae301db8a61a74bc72f67f5766811d89a3b3ec72
2005-12-29 19:23:06 +00:00
danielk1977
94eb6a14cb Add the sqlite3_update_hook() API. (CVS 2820)
FossilOrigin-Name: 36229018817eebfbfca7a66d2285e4faf7b39845
2005-12-15 15:22:08 +00:00
drh
94c1f6f731 Preserve 64-bit last insert rowids across triggers. (CVS 2779)
FossilOrigin-Name: 4dd7cfaa587fd5f76a0b60db0f02d5f57f801564
2005-11-25 02:43:50 +00:00
drh
8a51256c0c Create separate affinities for INTEGER and REAL. (CVS 2766)
FossilOrigin-Name: ce06c123d0c5663dbaf263c2e0aaf5d9cdeb2ccd
2005-11-14 22:29:05 +00:00
drh
8df447f0e6 Omit the SQLITE_AFF_INTEGER type affinity. All numeric values are now
of type real, though an integer representation is still sometimes used
internally for efficiency. (CVS 2753)

FossilOrigin-Name: e0d6f61c7de2c03b8fd17ef37cf1a0add36ee618
2005-11-01 15:48:24 +00:00
drh
bbdc2b94fc Work around limitations of MSVC++ 6. Tickets #1429, #1437, and #1440. (CVS 2720)
FossilOrigin-Name: b2d1803c25b0b823c9cbe27989bacb730b18b45b
2005-09-19 12:53:18 +00:00
drh
a10a34b88f Bug fixes in aggregate processing. Fewer tests fail. (CVS 2663)
FossilOrigin-Name: c3ac58592f5e6305640868cdf42c129f1a25255d
2005-09-07 22:09:48 +00:00
drh
13449892ef Rewrite the aggregate handling logic so that it runs in O(1) space.
This is the first cut at the code.  Many regression tests fail. (CVS 2662)

FossilOrigin-Name: 17039ec3ff4396862beedf4a8af89654b2140f58
2005-09-07 21:22:45 +00:00
drh
abfcea25ea Cleanup the processing of MEM_Agg elements. (CVS 2660)
FossilOrigin-Name: 7ecf3654aa9a275a4cf0c3ec5f63a8c1e0a11fc9
2005-09-06 20:36:48 +00:00
drh
4db38a7092 All regression tests now pass with the new bounded-memory sort code.
There is still lots of opportunity for optimization, however. (CVS 2654)

FossilOrigin-Name: 81259a01f1e85ba50a1d017b1282bf841b16f0a5
2005-09-01 12:16:28 +00:00