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

14444 Commits

Author SHA1 Message Date
drh
c25eabedef Changes to comments and functions/procedure names for clarification. No
changes to logic. (CVS 6322)

FossilOrigin-Name: b99c1815fe270decf1ac3d714acc7e945d1e728a
2009-02-24 18:57:31 +00:00
danielk1977
2b0223ecf6 Remove old declaration of sqlite3_pending_byte (which was used by test code). It has been replaced by sqlite3PendingByte. Ticket #3677. (CVS 6321)
FossilOrigin-Name: 44f0162ebb760dd6926ee5691752b6798e3aacb9
2009-02-24 18:40:49 +00:00
danielk1977
7a895a8048 Fixes and some extra test cases for count(*) optimization. (CVS 6320)
FossilOrigin-Name: 3f0baa1b63df31f7dc885fd39290ca12ad2be6df
2009-02-24 18:33:15 +00:00
drh
c74d0b1dfc Enhanced comments on table locking logic as it relates to preparing new
statements.  Added assert() and testcase() but no other changes to code. (CVS 6319)

FossilOrigin-Name: 4a12f5b818b769d7518c942ff3dedf453dde698e
2009-02-24 16:18:05 +00:00
danielk1977
2d2e7bd32e Reverse commit (6315) for now. (CVS 6317)
FossilOrigin-Name: 0e7c369c23a8767b4d3e5cdd47c14716992fb71a
2009-02-24 10:14:40 +00:00
danielk1977
a55331620e Optimize queries of the form "SELECT count(*) FROM <tbl>" by adding a sqlite3BtreeCount() interface to the btree layer. (CVS 6316)
FossilOrigin-Name: d4aa6593183224b6868a322511511c0bbf63b598
2009-02-24 10:01:51 +00:00
danielk1977
e2d7b24d08 Scan an index instead of a table for "SELECT count(*) FROM <tbl>" queries. Because an index is usually smaller than a table on disk, this saves some IO. (CVS 6315)
FossilOrigin-Name: 294ba6f743c9132dce0e73da480bd3c2071e7239
2009-02-23 17:33:49 +00:00
drh
699b3d4f89 Add the reverse_unordered_selects pragma. (CVS 6314)
FossilOrigin-Name: bc078e0007b6c3dc07722820bb53798b643212b3
2009-02-23 16:52:07 +00:00
danielk1977
7c5c3cab89 Ensure the return value of sqlite3_errmsg16() is aligned on a 2-byte boundary. Ticket #3665. (CVS 6313)
FossilOrigin-Name: 9b8acf8319ec760713773407a4d5a33dea8d75e8
2009-02-23 14:42:53 +00:00
danielk1977
d336e222f4 Instead of using SetNumColumns, specify the number of columns in a table or index using the P4 argument. (CVS 6310)
FossilOrigin-Name: e43ed649630cbc49a6f2a25a26a4a6b5fce84c48
2009-02-20 10:58:41 +00:00
drh
08de14908d Add a count parameter to the OP_Variable opcode and use it to simplify
prepared statements that copy consecutive unnamed parameters into
consecutive registers (a common case). (CVS 6309)

FossilOrigin-Name: 48b77b04935d8942eb22f0c061f3bc5e99bbd7db
2009-02-20 03:55:05 +00:00
drh
5053a79b6c Add the OP_HaltIfNull opcode and use it to simplify prepared statements
for INSERTs and UPDATEs of tables with NOT NULL columns. (CVS 6308)

FossilOrigin-Name: feccad8d0d05925ce67856d40ffe1bc7054168a0
2009-02-20 03:02:23 +00:00
drh
b2771ce24c Reuse space left-over opcode space at the end of the VDBE opcode array to
store memory cells, VDBE cursors, and other content needed by the VDBE.
This reduces the memory required by a prepared statement. (CVS 6307)

FossilOrigin-Name: 58a1809257ccfb7d9112a35f79ca2f82b3daa878
2009-02-20 01:28:59 +00:00
drh
e1935f2367 Remove code in malloc.c that was already commented out using #if 0. (CVS 6306)
FossilOrigin-Name: e1ad757ec0abead25265f9251c954d2497bccc06
2009-02-19 20:50:14 +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
drh
076d4661a6 Make sure the auto_vacuum=INCREMENTAL setting is preserved across a VACUUM.
Ticket #3663. (CVS 6304)

FossilOrigin-Name: ded04f12f41504e4a3ecd5164f0d4cbbde5e16f7
2009-02-18 20:31:18 +00:00
drh
8b39db1c83 Move the text of C-API requirements out of the sqlite.h.in source file and
into separate files in the "docsrc" CM system.  Comment changes only - no
changes to code. (CVS 6303)

FossilOrigin-Name: 419eb48b6b4238526850091eef28af503b6c4579
2009-02-18 18:37:58 +00:00
drh
50b6568454 Add tests to double-check that nothing within SQLite ever tries to allocate
amounts of memory that are close to the maximum signed integer, leading to
an integer overflow within malloc().  This is not currently a problem.
The extra tests just insure it never becomes a problem. (CVS 6298)

FossilOrigin-Name: f6ba7bb9152cffc9f67dfa7de12e36a3244b7e03
2009-02-17 18:37:28 +00:00
danielk1977
f37adcb40f Initialize an uninitialized buffer to silence a valgrind warning during a VACUUM operation. (CVS 6297)
FossilOrigin-Name: 8c61968b33dd753618589cb3f859984223161d64
2009-02-17 17:56:30 +00:00
danielk1977
0a54907159 Allow sqlite3_shutdown() to be called by a process before sqlite3_initialize() is. Prior to this commit such a call could segfault. (CVS 6296)
FossilOrigin-Name: 79431c58d964d6057c7f42f7c1df74f3df4493eb
2009-02-17 16:29:10 +00:00
drh
e8df800d4c Make sure result variables are initialized or unused following a failure
of the xFullPathname VFS interface.  Problem detected by valgrind. (CVS 6295)

FossilOrigin-Name: 59a4755185f0e51699cd020ae67d279bee45de1c
2009-02-17 16:17:01 +00:00
shane
65ad7d225f Changes to remove some compiler warnings from MSVC. (CVS 6294)
FossilOrigin-Name: 68f15442e8db364952d30daf4ce60c6b938f5906
2009-02-16 17:55:47 +00:00
drh
38aec8dc09 Fix a compiler warning in backup.c. (CVS 6293)
FossilOrigin-Name: 82222fbf5d5a085ce3e2c172c648a4c6d9750626
2009-02-16 16:23:09 +00:00
drh
f16ce3bc2a Make sure OOM errors in the ANALYSIS loader get reported back out to
high-level layers.  Strange behavior can result otherwise. (CVS 6292)

FossilOrigin-Name: 88a6355cd65ddb319dbc27b5248c664dbf599778
2009-02-13 16:59:53 +00:00
drh
0388123f07 Correctly handle attempts to add a UNIQUE or PRIMARY KEY column using
the ALTER TABLE statement.  Ticket #3651. (CVS 6291)

FossilOrigin-Name: dd179ff2986bc2a86d70bbe927fd0e123e17d398
2009-02-13 03:43:31 +00:00
drh
aff46970a7 Add additional cross-references from API documentation to other documents.
Comment changes only; no changes to code. (CVS 6290)

FossilOrigin-Name: 97203a0ad7a7ddfae04daf99558389b0589fc170
2009-02-12 17:07:34 +00:00
danielk1977
f2a79f2248 Fix some edge cases with backing up databases that are exactly PENDING_BYTE bytes in size, or just slightly larger. (CVS 6288)
FossilOrigin-Name: 2fc450e8e60248d6111d0b0d2b8f2344f5b89bca
2009-02-12 17:01:49 +00:00
danielk1977
f7f33fb08a Fix a case where during a rollback triggered by an IO or malloc error an unjournalled region of the database could be written to (with it's original data). This was causing an assert in test_journal.c to fail. Add a test case in ioerr2.test to trigger this case. (CVS 6286)
FossilOrigin-Name: 315a6692f9a03a470871cce4f74567683546f343
2009-02-12 09:11:56 +00:00
drh
46f33ef93c Continuing documentation refinements. Comment changes only. (CVS 6284)
FossilOrigin-Name: 83e8308435be8c954fe7a347a64f28abcb81437b
2009-02-11 15:23:35 +00:00
drh
ae1a880719 Add hyperlinks from sqlite3_limit() documention to the limits.html page.
Comment changes only - no changes to code. (CVS 6282)

FossilOrigin-Name: f0189ec8c9b5d1dfe1f5d93746cc7b5703a80de5
2009-02-11 15:04:40 +00:00
danielk1977
d6846d75ca Fix the crashtest infrastructure so that it doesn't trigger the "don't write to the locking region" assert in os_unix.c. (CVS 6281)
FossilOrigin-Name: b7fd4615cd41179484bd44d2f4bd7aef04977911
2009-02-11 14:27:04 +00:00
danielk1977
4faa5f41b8 Modify the test_journal.c code to (1) account for the backup code writing to parts of the pending-byte page when changing a databases page-size, and (2) to avoid reading from the pending-byte page and triggering the assert in os_unix.c. Changes to test code only. (CVS 6280)
FossilOrigin-Name: 4879621658c2c785ab7b12dbae780901496d3a78
2009-02-11 07:38:11 +00:00
danielk1977
9ec30744bf In test_mutex.c, zero the global structure staticly instead of in Sqlitetest_mutex_Init(). This is because Sqlitetest_mutex_Init() is now called by each thread during thread tests ((6193)). Test code changes only. (CVS 6279)
FossilOrigin-Name: 8b318b9385d0542ca56750b901c0c6b7d05ca634
2009-02-11 05:18:06 +00:00
danielk1977
2b754b4820 For the "onefile" demo, pass SQLITE_OPEN_TEMP_DB instead of MAIN_DB to the OS layer when opening the single file. This is to work around the assert() in os_unix.c that tests that the locking region is not written to. (CVS 6278)
FossilOrigin-Name: 2da076a2c1663e916dc50e5e1679be216922dfc5
2009-02-10 18:54:02 +00:00
danielk1977
2d42c2b247 Prevent code in test6.c from reading the 512 byte locking region (the PENDING_BYTE page) of a database file. Doing so triggers an assert failure in os_unix.c. (CVS 6276)
FossilOrigin-Name: 2a6a43169220fab5a15a786e2a464b90cb893179
2009-02-10 14:28:57 +00:00
drh
52224a73f1 Create links from backup API documentation to the backup application note.
Comment changes only - no changes to code. (CVS 6275)

FossilOrigin-Name: 85de23fb4e63e5c71480c4c34efec331e774d7fb
2009-02-10 13:41:42 +00:00
danielk1977
cd503d6a3b Reenable triggering vdbe tracing by creating file-system entries. Add a (redundant) test that modifying the temp schema expires all prepared statements. (CVS 6274)
FossilOrigin-Name: f6590dac4612d0d05105fa820e8fcb80b5907a40
2009-02-10 11:17:43 +00:00
danielk1977
b632201d81 Do not always open a transaction on the temp database when writing to the main or another attached database. (CVS 6273)
FossilOrigin-Name: f76b0b8129657eace0a933ac1988b472d5e79c98
2009-02-10 10:44:42 +00:00
danielk1977
3d0cbc3362 Fix a problem in backup.c causing OsTruncate() to be called with an argument larger than the current file-size. (CVS 6271)
FossilOrigin-Name: b34bde80c7e2028baf7ba2ff26e587a63a170f3d
2009-02-09 18:55:45 +00:00
drh
08c6d4468c Add assert() statements to os_unix.c which fire if there is a read or
write for the locking region of a database file. (CVS 6270)

FossilOrigin-Name: 93e792ffa88ba2e8422d041f36b70d9b2e220da2
2009-02-09 17:34:07 +00:00
drh
0daa002c7c Better error message when DISTINCT is used on an aggregate function that
takes two or more arguments.  Ticket #3641. (CVS 6269)

FossilOrigin-Name: e20bf384668bcde7c2f2152ca88e28cf65a02679
2009-02-09 13:19:28 +00:00
danielk1977
09480a9dc2 Ignore the return structure of and F_GETLK fcntl() call on djgpp. Fix for #3642. (CVS 6268)
FossilOrigin-Name: 8227af3463ded1c52d0a16c63b8dbc516eab57f0
2009-02-09 05:32:32 +00:00
danielk1977
03ab035796 Changes to the backup API: (1) if a negative number is passed as the second argument to backup_step(), this is interpreted as "copy all remaining pages" and (2) if backup_finish() is called after backup_step() fails with a BUSY or LOCKED error, then this error is also returned by backup_finish() (same handling as for other errors encountered by backup_step()). (CVS 6266)
FossilOrigin-Name: 9b8c8b18cf6b7d44d5fd64760537bc030097756b
2009-02-06 05:59:44 +00:00
drh
ddb68e17fa Fix the declaration of sqlite3PendingByte so that it works with the
amalgamation. (CVS 6264)

FossilOrigin-Name: 193c871f3d16ce982040334c543610d330117bd5
2009-02-05 16:53:43 +00:00
drh
c7a3bb94c2 Make the pending byte adjustable via sqlite3_test_control() on all builds,
not just on test builds. (CVS 6263)

FossilOrigin-Name: e8f192e2a93350a136d86bd9caceff65f52f3513
2009-02-05 16:31:45 +00:00
shane
f5d335f851 Fixed error detection in winTrucate() in os_win.c. Windows version only. Ticket #3640. (CVS 6262)
FossilOrigin-Name: 82e03f1b5481c6fe5e94976f086e8fe8c99881af
2009-02-05 03:16:20 +00:00
shane
d20010c70e Improved overrun detection in mem2.c (SQLITE_MEMDEBUG). Previously was only checking up to 3 extra bytes allocated due to rounding. (CVS 6261)
FossilOrigin-Name: a6fe3d6b02734b23fe067a373c0232024a782a6c
2009-02-05 03:00:06 +00:00
drh
dc2c491525 Add "backup" and "restore" methods to the TCL interfaces and test cases
to exercise those methods. (CVS 6260)

FossilOrigin-Name: e420a3cedc7ee086a77cd719f6b9fb85415eb5f3
2009-02-04 22:46:47 +00:00
drh
9ff849fc87 Add ".backup" and ".restore" commands to the CLI - implemented using the
new backup API. (CVS 6259)

FossilOrigin-Name: 003e1d62189e9e37f901d86a696cfccd22bd3b38
2009-02-04 20:55:57 +00:00
drh
9e7ba7c69a If the truncate operation fails in journalmode=TRUNCATE, do not fall back
to overwriting the journal header with zeros.  Simply fail the operation. (CVS 6257)

FossilOrigin-Name: d4af60e52a12262ad0194908e68a386c719fe177
2009-02-04 19:16:23 +00:00