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

354 Commits

Author SHA1 Message Date
drh
699b3d4f89 Add the reverse_unordered_selects pragma. (CVS 6314)
FossilOrigin-Name: bc078e0007b6c3dc07722820bb53798b643212b3
2009-02-23 16:52:07 +00:00
danielk1977
6ab3a2ec8a Changes to reduce the heap space consumed by triggers, views and tables in the in-memory representation of the schema. Also to reduce the space used by prepared statements slightly. (CVS 6305)
FossilOrigin-Name: d9f6ffbc5ea090ba0daac571fc9a6c68b9c864e4
2009-02-19 14:39:25 +00:00
danielk1977
78ca0e7eb4 When not compiling for an EBCDIC system, use built-in alternatives to the tolowe
r(), toupper() and other ctype.h library functions. Ticket #3597. (CVS 6196)

FossilOrigin-Name: 1041abd6784d283bebf646c54e93599522f7889d
2009-01-20 16:53:39 +00:00
drh
a9e364f00f Updates to comments as suggested by tickets #3578 and #3579. (CVS 6172)
FossilOrigin-Name: b5927213b6171e57018f1f265940c9bcc7a0ba04
2009-01-13 20:14:15 +00:00
drh
d2cb50b74c Coverage improvements in pragma.c. Change the __DARWIN__ macro to __APPLE__,
which is available by default on Leopard. (CVS 6153)

FossilOrigin-Name: 64c56226b91e57883c8059f65330318e53376b8a
2009-01-09 21:41:17 +00:00
drh
3abbd39a87 More code obfuscation designed to thwart compiler warning messages. (CVS 6015)
FossilOrigin-Name: 0a1888a7e6fb56e56d8078e7792379d908ba7a70
2008-12-10 23:04:13 +00:00
drh
4f21c4af30 Fix an issue with the new sqlite3Strlen30() introduced by
check-in (6007).  Additional casts for compiler warnings. (CVS 6011)

FossilOrigin-Name: 258722b6178f60eaccef1675aab3edc456d413a5
2008-12-10 22:15:00 +00:00
drh
ea6788322e Never use strlen(). Use our own internal sqlite3Strlen30() which is
guaranteed to never overflow an integer.  Additional explicit casts to
avoid nuisance warning messages. (CVS 6007)

FossilOrigin-Name: c872d554930ecf221ac2be5f886d5d67bb35288c
2008-12-10 19:26:22 +00:00
drh
dc5ea5c785 Remove or rename local variables that shadow other variables or parameters. (CVS 6005)
FossilOrigin-Name: e7e9fa4fa1b7fc0668f4e3a51873ee5d11893f42
2008-12-10 17:19:59 +00:00
aswift
aebf413d9a Added support for proxy file locking style
Added pragma support for controlling proxy file locking
Added file control access to last errno and proxy locking
Added support for TMPDIR environment variable
Extended unit tests to cover new proxy locking pragmas and file control features (CVS 5934)

FossilOrigin-Name: b9bc36d3d5e35821ef69c0881a84c0afed253c9e
2008-11-21 00:10:35 +00:00
danielk1977
00e136135e Modifications to avoid unsigned/signed comparisons in various files. (CVS 5914)
FossilOrigin-Name: 8009220c36635dd9b6efea7dc13281ca9625c40a
2008-11-17 19:18:54 +00:00
shane
c782f69abb Updated comment in source. Ticket #3453. (CVS 5874)
FossilOrigin-Name: 83caa22087bcaa184eff559971262e4d7eecd0e0
2008-11-10 19:24:38 +00:00
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
f96a3778f9 Fix a bug in pragma table_info. Column default values specified as negative numbers (col DEFAULT -1) were being reported as NULL by the pragma. (CVS 5839)
FossilOrigin-Name: 0e448bc6096c7ee3b21dbd22dc4ca9470ae7ba31
2008-10-23 05:45:07 +00:00
danielk1977
b3175389c7 Add "pragma journal_mode=memory". Change the way rollback works for in-memory databases so that it reuses the journal_mode=memory code. (CVS 5830)
FossilOrigin-Name: 39ebf01addf9d0867daafd06a38719e725128f9c
2008-10-17 18:51:52 +00:00
danielk1977
50af3e1d2d Change 'pragma foreign_key_list' to return some extra information. (CVS 5795)
FossilOrigin-Name: 3bb33cf59da49f13201c0226e964cda067a4e780
2008-10-10 17:47:21 +00:00
drh
04335886a1 Add the "truncate" journal mode which commits transactions by truncating the
rollback journal file to zero length and not calling fsync(). (CVS 5745)

FossilOrigin-Name: 7c561f2e9264de676c1028943f6c3d06542fd802
2008-09-26 21:08:08 +00:00
danielk1977
fab1127bd1 If the xAccess() call used by "PRAGMA temp_store_directory = /new/path/" to determine if the supplied directory is writable returns an error, assume the directory is not writable. (CVS 5707)
FossilOrigin-Name: e8418588f2c23487cefda702849d4546202fd8ec
2008-09-16 14:38:02 +00:00
danielk1977
a4de4532dd Add an extra 'const' qualifier to two arrays (in func.c and pragma.c) to ensure that they do not consume space in the data segment of the compiled object files. (CVS 5663)
FossilOrigin-Name: 43f757c9f01ccc6e6c7a404fbeb74f825f7a29ca
2008-09-02 15:44:08 +00:00
drh
78f82d1e6c Continuing work on adding full support for the SQLITE_OMIT_WSD
compile-time option. (CVS 5658)

FossilOrigin-Name: ef26ea5c46d3915d206f8ff7f82a24f4c8955f1f
2008-09-02 00:52:52 +00:00
danielk1977
260d8a6aec When a "pragma main.table_info(...)" is issued, consider only tables from the main database, not the temp db. Ticket #3320. (CVS 5568)
FossilOrigin-Name: d0cfbbbaeef7b8ce9f73c6cd58888989a2df5b1f
2008-08-20 16:34:24 +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
983e230939 Prohibit the user from changing the temporary storage medium (pragma temp_store) while there is a read transaction open on the temporary database. Add tests to shared.test to cover a few more lines in btree.c. (CVS 5362)
FossilOrigin-Name: 92e0cf9a08a8b337a8f239afb048a0e045485771
2008-07-08 07:35:51 +00:00
danielk1977
b06a0b67c4 Change the TEMP_STORE preprocessor symbol to SQLITE_TEMP_STORE. (CVS 5312)
FossilOrigin-Name: 1e3b8308021107d983d2152663f62b369cca091d
2008-06-26 10:54:12 +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
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
danielk1977
b53e496095 Add "pragma journal_size_limit", used to limit the space consumed by persistent journal files left in the file-system after a transaction has concluded in exclusive (or journal_mode=persist) mode. (CVS 5185)
FossilOrigin-Name: 5c59f469d0321c6a2e702ca2c61db012f63aeecc
2008-06-04 06:45:59 +00:00
danielk1977
59a93791ce Add the "page_count" pragma. Returns a single integer - the number of pages in the specified database file. (CVS 5135)
FossilOrigin-Name: eb6985e69ce2a5e5e7361f6226d1cfc547fd441d
2008-05-15 17:48:20 +00:00
drh
fdc40e9156 Continuing progress on the journal_mode pragma. It still does not work. (CVS 5027)
FossilOrigin-Name: 4a72a7bb9c5793cdaf4ee038482053e042d8db54
2008-04-17 20:59:37 +00:00
drh
3b02013e73 Add the journal_mode pragma. This is currently just syntax - it is not
operational. (CVS 5024)

FossilOrigin-Name: 8eaa0c71023ac428f6f9f8091341584caa773ab9
2008-04-17 17:02:01 +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
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
f653d78282 Allow a VACUUM operation to change the page-size in the same way as it can be used to change a database between auto-vacuum and normal mode. (CVS 4896)
FossilOrigin-Name: 871df0e7c36a88f175cfc63797745e52a1b1796b
2008-03-20 11:04:21 +00:00
drh
bb8a279e11 Remove the dependency on the direct btree interface from as many test
scripts as is practical.  Fix a bug in the output limiter of the
integrity_check pragma that came up while making this change. (CVS 4880)

FossilOrigin-Name: 24e769972eb6052b82dc94d20444c186a213e104
2008-03-19 00:21:30 +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
c4dd3fd280 Changes to lemon to generate additional comments in the output file and
to remove unreachable code.  Additional test cases for improved test
coverage. (CVS 4736)

FossilOrigin-Name: 2a0bc1e186532a0bfe36ca18fda74a5e7a199227
2008-01-22 01:48:05 +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
1db639cef3 Registerification of the WHERE clause logic. (CVS 4716)
FossilOrigin-Name: b3a141b2b0c09bf3c7704deeade290d71b7c9b77
2008-01-17 02:36:28 +00:00
drh
949f9cd565 The sqlite3_trace() callback now prints a message as each trigger fires
within a statement. (CVS 4709)

FossilOrigin-Name: 110c000d86bd4a0b4b946c62d11a435426b02d16
2008-01-12 21:35:57 +00:00
drh
2d401ab8f9 More work toward converting the VM into a register-based machine. (CVS 4704)
FossilOrigin-Name: 8cbd46517f407b3b1ce187b623db10f00aa415ea
2008-01-10 23:50:11 +00:00
drh
98757157ee All essential opcodes can now operate out of registers and completely
avoid the stack.  Many still optionally use the stack to support legacy
code generation, but the stack is not required.  The next step is to
update all code generation to avoid using the stack. (CVS 4700)

FossilOrigin-Name: e3cf1c1c114bcda8fe577beb5ee55b4a651b96db
2008-01-09 23:04:12 +00:00
drh
3c84ddff3e Continued work toward converting to a register-based VM. (CVS 4698)
FossilOrigin-Name: 92deff07bba2089bbe011f44defb3a0ac1362d56
2008-01-09 02:15:38 +00:00
drh
6a288a33f9 Registerify the AUTOINCREMENT processing and the OP_IsNull and OP_NotNull
operators. (CVS 4692)

FossilOrigin-Name: aa48867cfa04da265b906e5b583bc7ac6b6a1157
2008-01-07 19:20:24 +00:00
drh
5b6afba924 Registerify binary operators. Add register tracing to debugging output. (CVS 4686)
FossilOrigin-Name: 66396d2f0289e36b5fc0af5078c08d1b17f342ae
2008-01-05 16:29:28 +00:00
drh
8558cde1ab Register-ify the OP_AddImm and all casting opcodes. Omit the
OP_MemIncr opcode. (CVS 4683)

FossilOrigin-Name: 3e8a07dd3cc9921ad39e379576abb0b485a42202
2008-01-05 05:20:10 +00:00
drh
b1fdb2adea Get rid of OP_Dup, OP_MemStore, OP_MemLoad, and OP_MemMove. Replace
with OP_Copy, OP_SCopy, and OP_Move.  Add the infrastructure for
operation properties in1, in2, in3, out2, and out3 but do not yet
use any of these. (CVS 4682)

FossilOrigin-Name: cc149eb9ca3c672cc6fea3528353234ac2ed5745
2008-01-05 04:06:03 +00:00
drh
4c583128bd Implement the out2-prerelease opcode design pattern. (CVS 4681)
FossilOrigin-Name: fe057a88d0038ac349ea41883b979ceba6ae410a
2008-01-04 22:01:03 +00:00
drh
0a07c107a6 Registers (aka memory cells) in the VM are now numbered starting with 1
instead of 0.  A register number of 0 means "no such register". (CVS 4669)

FossilOrigin-Name: 0b849805c3a0f562d50623f406279b400d335639
2008-01-03 18:03:08 +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