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

1063 Commits

Author SHA1 Message Date
danielk1977
10fb749b37 Change the way sqlite3VdbeSetColName() is called so as to remove a few lines of code. This also fixes #3470. (CVS 5853)
FossilOrigin-Name: bfce91429b1dad6e0ca36929e41a7adfb30f8522
2008-10-31 10:53:22 +00:00
danielk1977
9ff3f3f772 When transfering an error message from a statement handle to the database handle so that it can be accessed by sqlite3_errmsg(), a malloc may fail. If this malloc fails, it is considered benign. (CVS 5806)
FossilOrigin-Name: 311003aff85e6b6c47e854d33f46eee31da6f30c
2008-10-11 17:51:38 +00:00
danielk1977
e972e031d1 Speed up releaseMemArray() a bit by handling the most common types of memory cells inline. (CVS 5726)
FossilOrigin-Name: ce07508550da858beb0bc0763c65e6d556bb0843
2008-09-19 18:32:26 +00:00
danielk1977
1e522b498b Set the type of the "comment" field to SQLITE_TEXT when outputing the results of an EXPLAIN query. (CVS 5704)
FossilOrigin-Name: 5dff20f4bc8d98017e76d3a771ab49310bddda63
2008-09-16 09:09:19 +00:00
drh
23f79d061f Modify the sqlite3VdbeUnpackRecord() interface to force the temporary
space to be 8-byte aligned.  This might be important for Sparc.
Ticket #3318. (CVS 5573)

FossilOrigin-Name: 00b177985ee08f13a7781d095936da3beaf0408c
2008-08-20 22:06:47 +00:00
drh
7d10d5a6e1 Refactor the name resolution procedures in the code generator. (CVS 5569)
FossilOrigin-Name: daf730d1defa78fb8b80a78f9108ac35a13e09f6
2008-08-20 16:35:10 +00:00
drh
e63d999189 Additional changes toward fixing ticket #3292. (CVS 5562)
FossilOrigin-Name: 0b92cbf5255020d4fde382f81590ff0488936667
2008-08-13 19:11:48 +00:00
drh
ec1fc80ca3 A partial fix for ticket #3292. This fixes the original problem but there
are other similar problems lurking in the code still. (CVS 5561)

FossilOrigin-Name: 055f173ab1b6fb657bf817faa3a37335d8fa60d5
2008-08-13 14:07:40 +00:00
drh
701bb3b4f0 Additional coverage testing. Fix a segfault following OOM in
sqltie3_load_extension(). (CVS 5523)

FossilOrigin-Name: f1e44eb323f05495cbae25113aebcc50d16b40df
2008-08-02 03:50:39 +00:00
drh
c890fec362 Bring test coverage up to 99%. (CVS 5522)
FossilOrigin-Name: 2cd6bae80984126023bcf479e5f3db5eaa5c4134
2008-08-01 20:10:08 +00:00
danielk1977
3e3a84d32a Test that virtual table methods xBestIndex, xOpen, xFilter, xNext, xColumn, xRowid, xUpdate, xSync and xBegin can all return error messages using the sqlite3_vtab.zErrMsg variable. (CVS 5519)
FossilOrigin-Name: 007359b770f225877880b11f4c5d97bb548e38ca
2008-08-01 17:37:40 +00:00
shane
9200309ef6 Fixed comment to use right function names for sqlite3VdbeSerialPut() and sqlite3VdbeSerialGet(). (CVS 5507)
FossilOrigin-Name: 820c37ec5290d7f0030438da29b30c33400fd4e3
2008-07-31 01:43:13 +00:00
drh
633e6d57d9 Implement the "lookaside" memory allocation cache. Use of this cache makes
the speed1.test script run about 15% faster.  Added new interfaces to
control the cache. (CVS 5488)

FossilOrigin-Name: e48f9697e9fea339e150ddc32940760027dd07d9
2008-07-28 19:34:53 +00:00
danielk1977
161546c7e5 Fix a case where database corruption was causing an invalid reference. (CVS 5484)
FossilOrigin-Name: 7aecabacf924ad8c1f9f4e707d0c56e433e3a434
2008-07-26 18:26:10 +00:00
shane
0b8d276684 Changed a few loop counters to unsigned ints to remove compiler warnings. (CVS 5449)
FossilOrigin-Name: 16f51f9b39c46659b4be4afd7f0d8ec325469e7b
2008-07-22 05:18:00 +00:00
danielk1977
d3c4bad7fe Speed up sqlite3_finalize() by removing redundant code. (CVS 5436)
FossilOrigin-Name: c94318b982e9bb5b4c743cf8d5659f9eec697366
2008-07-18 08:10:47 +00:00
drh
a34605859d Detect and handles the case where a row is modified or deleted while it
is being read during SELECT processing. (CVS 5399)

FossilOrigin-Name: c80a5d09935c60a2a50bc262c172a94073355f0d
2008-07-11 21:02:53 +00:00
drh
34004cebb6 Additional test coverage for the btree module. Remove the failsafe() macro
and replace it with ALWAYS() and NEVER(). (CVS 5395)

FossilOrigin-Name: d7e2f0d2d45574d6191c1b191c0daf5260696f27
2008-07-11 16:15:17 +00:00
shane
1fc4129df7 Added macros to convert between 32-bit ints and 64-bit ptrs to avoid compiler warnings. (CVS 5378)
FossilOrigin-Name: 6cdb6841ff4683e424ef394733da9c24f5602570
2008-07-08 22:28:48 +00:00
drh
f089aa459e Completely rework the sqlite3SetString() primitive so that it honors the
SQLITE_LIMIT_LENGTH and avoids the use of strlen(). (CVS 5374)

FossilOrigin-Name: 8ed04b1e26a55306e4baf3e93fb084514134d603
2008-07-08 19:34:06 +00:00
drh
0acb7e4849 The compound-select merge optimization passes quick.test with no errors. (CVS 5299)
FossilOrigin-Name: 8bbfa97837a74ef0514e0c92ea2a6576f02cc361
2008-06-25 00:12:41 +00:00
danielk1977
5dfecba1a4 Fix a compilation problem with SQLITE_OMIT_VIRTUAL_TABLE is defined. (CVS 5277)
FossilOrigin-Name: 0421c09967a191fb62338eb8b1bd766be42f61cc
2008-06-23 13:57:21 +00:00
drh
b21e7c70f7 Fix a bug in the KEYINFO handling within select.c. Change the OP_Move
opcode to take a count and to move multiple registers.  Initial code for
the compound-select merge optimization is added but is incomplete
and is commented out. (CVS 5272)

FossilOrigin-Name: 663a590e3086145a57af7569d8f798b6b6a8b76c
2008-06-22 12:37:57 +00:00
drh
16ee60fff9 Add new Compare and Jump codes to the virtual machine. Use them in the
implementation of aggregate queries. (CVS 5257)

FossilOrigin-Name: 083113652ff8f69b18cf1611710fdbbe5fbd9fef
2008-06-20 18:13:25 +00:00
danielk1977
2d1d86fbbe Add a mode to the sqlite3_test_control() interface to register hooks called at the beginning and end of "benign malloc failure" blocks. This allows malloc() failure testing to be done using public APIs only. (CVS 5254)
FossilOrigin-Name: 56c8af1452dfdc8da858a2411bd6f3663a8a9326
2008-06-20 14:59:51 +00:00
drh
a2baf3a2e5 Make sure aggregate functions can take any number of arguments up to the
limit imposed by SQLITE_LIMIT_FUNCTION_ARGS.  Ticket #3179.  Modify
the group_concat() function to take an unlimited number of arguments in
order to facilitate testing this behavior. (CVS 5233)

FossilOrigin-Name: 70c6739f4e84b3433e14960346b54d0e9e0bb9c6
2008-06-18 15:34:09 +00:00
drh
e5ae5735c0 Continuing work on the new memory allocation subsystem.
Added routines for temporary memory allocation.  Right the btree
balance mechanism to only do one temporary allocation at a time. (CVS 5220)

FossilOrigin-Name: 65fe7b62cfe7d11cd667681a64c96fe7b2fe5685
2008-06-15 02:51:47 +00:00
drh
2eb95377ef Remove the subroutine return stack from the VDBE. Return addresses
for subroutines are now stored in registers. (CVS 5191)

FossilOrigin-Name: ef1956eebcaf5aca51af8c3b406b1fd4b1f391a7
2008-06-06 15:04:36 +00:00
danielk1977
17b90b5316 Remove the xGetTempname() method from the vfs structure. Temp files are now opened by passing a NULL pointer as the filename to xOpen(). (CVS 5190)
FossilOrigin-Name: 5173b3e816c7eb711cd21a9068bbafb9ebb7cff1
2008-06-06 11:11:25 +00:00
danielk1977
861f74563d Modify the signatures of the sqlite3_vfs.xAccess and sqlite3_vfs.xCheckReservedLock functions. (CVS 5188)
FossilOrigin-Name: 4226ac54beea1b58de8ab7b9d768d999f50438a6
2008-06-05 11:39:11 +00:00
drh
4873d5f614 Make the benign-fault setting recursive. Make all malloc failures
during a rollback benign since there is nothing we can do about them. (CVS 5128)

FossilOrigin-Name: a9d1d931358637a6f039723a053098f65530de4b
2008-05-13 13:27:33 +00:00
drh
5284a05316 Use a 6-byte rather than an 8-byte encoding for integers between
17592186044416 and 140737488355327.  Ticket #3100. (CVS 5105)

FossilOrigin-Name: 0a4d26dede320d90a39133dce3d76ca3ee1a4ee6
2008-05-08 15:18:10 +00:00
drh
2eaf93d34f Always convert IEEE NaN into NULL. Ticket #3060. Add test cases to verify
that this is happening. (CVS 5066)

FossilOrigin-Name: 9b07e59e510e2de39c2081653662fbc654ca6fbb
2008-04-29 00:15:20 +00:00
drh
7209c697a1 Remove all references to sqlite3_intptr_t. (CVS 5051)
FossilOrigin-Name: 6a94d19747a05df2694d3720f76de3dab3836578
2008-04-27 18:40:11 +00:00
shane
3f8d5cfcad Consolidated varint macro usage from btreeInt.h, vdbe.c, and vdbeaux.c into sqliteInt.h and made their use consistent. Slight improvements to varint32 macros. (CVS 5045)
FossilOrigin-Name: 0d04ccd97841bbbda564cc6ae5da057ee3888fa3
2008-04-24 19:15:09 +00:00
danielk1977
ecc91f6868 Remove redundant assert() statement from vdbeaux.c. Ticket #3065. (CVS 5039)
FossilOrigin-Name: 3cba1166076bf0506597e2d7686a271922817668
2008-04-24 08:36:51 +00:00
danielk1977
9a9b1564cf Add version comment to vdbeaux.c. No code changes. Ticket #3066. (CVS 5038)
FossilOrigin-Name: d667add44b87f9011b0ef10d45101dfc1e38feaa
2008-04-24 08:31:51 +00:00
danielk1977
751de567c1 Allow OP_MoveGt and similar to use an array of registers instead of a serialized record. Modify one type of index range scan to use this. (CVS 5028)
FossilOrigin-Name: c448f15aa5ed3dec511426775e893efea324faa1
2008-04-18 09:01:15 +00:00
drh
f3a87624a2 In exclusive locking mode, commit by zeroing the first 28 bytes of the
journal file, not by truncating the journal.  Overwriting is much faster
than truncating. (CVS 5023)

FossilOrigin-Name: 8efb7f4ffbfc3ad901a3bb1b4ff9390b8c13760b
2008-04-17 14:16:42 +00:00
danielk1977
1ea1b3f8b9 Remove a recently added assert() that is failing with certain compilers on 32-bit platforms. Ticket #3043. (CVS 4990)
FossilOrigin-Name: 03c0279d7b004ccc4264143e366c793b4d774f9f
2008-04-11 17:15:46 +00:00
drh
5c070538f1 Additional reductions in the use of memset(). (CVS 4988)
FossilOrigin-Name: 38746c54385e3cb456cda660ea50769b5424db30
2008-04-11 15:36:03 +00:00
drh
26c9b5eaba Speed improvements by removing unnecessary memset() operations.
Also: do not resize the opcode array of a virtual machine to its
minimum size after code generation completes.  The extra resize
merely uses time. (CVS 4987)

FossilOrigin-Name: 2589955507fc1717891c4e07d1d658eb41660b87
2008-04-11 14:56:53 +00:00
drh
fab69597cc Make sure all memory allocations are 8-byte aligned. Ticket #3040.
Note that the mem3.c memory allocator returns 4-byte aligned memory
allocations.  But as mem3.c is intended for use in 32-bit embedded
systems, we are not going to change that. (CVS 4978)

FossilOrigin-Name: d11e8e307af906db75ae7aede790464fabd06422
2008-04-10 14:57:24 +00:00
danielk1977
5f09613545 Changes to the Mem structure to reduce the frequency of freeing and reallocating the dynamic buffer. (CVS 4928)
FossilOrigin-Name: d0bf73d81453da1d8e602e0445064d9f5e348063
2008-03-28 15:44:09 +00:00
drh
19db935225 Allow the xAccess method in the VFS to return -1 to signal an I/O
error, and in particular an SQLITE_IOERR_NOMEM. (CVS 4925)

FossilOrigin-Name: 3cb704c4c439425781644b1b653b7e50f02fd91e
2008-03-27 22:42:51 +00:00
danielk1977
9882d99993 Allow creation of ephemeral pseudo-tables - pseudo-tables that copy a pointer to a row when inserted instead of copying the row data. (CVS 4924)
FossilOrigin-Name: 1a58a87023f7780aee813ac64dda1a80021002a7
2008-03-27 17:59:01 +00:00
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
danielk1977
cd3e8f7ce9 Use a vdbe memory cell to allocate the space required for vdbe cursors. (CVS 4912)
FossilOrigin-Name: 047153648155654b0cd70b811935209d2e21776c
2008-03-25 09:47:35 +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