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

264 Commits

Author SHA1 Message Date
drh
d9da78a2c8 Changes to insure that lookaside memory allocations are never used to hold
schema content.
Ticket #3743. (CVS 6377)

FossilOrigin-Name: ea74d8dc62f5784089aa8ef098e97c505a79b176
2009-03-24 15:08:09 +00:00
danielk1977
4be6469146 Add a comment to prepare.c explaining why the lookaside buffer is disabled before sqlite3_exec() is called to parse a schema statement. No code changes. (CVS 6376)
FossilOrigin-Name: 8ca6a665650c9683a202f3ced17b14f7c85624bf
2009-03-24 04:46:08 +00:00
danielk1977
a8bbef84bf Fix an obscure race condition that can occur when multiple threads, shared cache and DDL statements are combined. Enhance notify2.test to test this scenario. (CVS 6373)
FossilOrigin-Name: 92ec5975123284aff3a69ee16c397d9e2a844c0b
2009-03-23 17:11:26 +00:00
danielk1977
238746a650 Fix a couple of fairly obscure cases where an assert() could fail following a malloc failure. (CVS 6360)
FossilOrigin-Name: cc0d925669ddeb55048e88aa5b4f658be60b0962
2009-03-19 18:51:06 +00:00
danielk1977
65a2ea1155 Change sqlite3_step() to return SQLITE_LOCKED if a statement cannot be re-compiled due to locks on the shared-cache schema. Also add a blocking wrapper of sqlite3_prepare_v2() to the test code. (CVS 6359)
FossilOrigin-Name: e8be1af922098e298902820730f8b28603bd6fae
2009-03-19 07:58:31 +00:00
danielk1977
404ca07578 Add the sqlite3_unlock_notify() API. (CVS 6348)
FossilOrigin-Name: b649a6cc5bfefddd6a04b1183647d2923e0a0daa
2009-03-16 13:19:36 +00:00
shane
be21779385 Corrected typos and misspellings. Ticket #3702. (CVS 6336)
FossilOrigin-Name: 6404afa0c515a6536fc2e878d4fb451e4dc06942
2009-03-05 04:20:31 +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
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
1c767f0df3 More coverage improvements. (CVS 6148)
FossilOrigin-Name: 6e171c0a64850013b26a223189d5bebcc0a01a8b
2009-01-09 02:49:31 +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
danielk1977
f3d3c27a0c Fix some compiler warnings that show up when building the amalgamation only. (CVS 5927)
FossilOrigin-Name: d1abe8a1c9a990b02c71d6c249436381c9fde443
2008-11-19 16:52:44 +00:00
danielk1977
62c14b3487 Changes to avoid "unused parameter" compiler warnings. (CVS 5921)
FossilOrigin-Name: 88134322c36b41304aaeef99c39b4ef5b495ca3b
2008-11-19 09:05:26 +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
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
ff9b2e75b4 If the 'rootpage' column of the sqlite_master table contains a NULL value, return SQLITE_CORRUPT to the caller. (CVS 5681)
FossilOrigin-Name: a7b7b126e9e9b0cd2d68643d8dff321cf41ce2ee
2008-09-08 09:06:18 +00:00
shane
145834a44f Missing implementation for sqlite3TransferBindings(). (CVS 5675)
FossilOrigin-Name: 56d618957571f65e88375aad34a6e7dcf22508e1
2008-09-04 12:03:42 +00:00
danielk1977
c9e90daf62 Temporarily revert to using sqlite3_transfer_bindings() internally. (CVS 5673)
FossilOrigin-Name: 690ff3853b4e46ac7126992c84455237e265fd98
2008-09-04 05:53:44 +00:00
shane
4a27a28635 Modified core to not call deprecated functions sqlite3_memory_alarm() and sqlite3_transfer_bindings() by adding sqlite3MemoryAlarm() and sqlite3TransferBindings(). sqlite3_memory_alarm() and sqlite3_transfer_bindings() are now simple wrappers for the new functions. In prep for adding SQLITE_OMIT_DEPRECATED. (CVS 5672)
FossilOrigin-Name: 821c387d159fd86cedb56c1130f0416bf5c65e6c
2008-09-04 04:32:49 +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
c456e57af7 Do not allow indexing of any table whose name begins with "sqlite_".
Ticket #3284.  Improve handling of databases with malformed schemas -
just in case somebody has actually indexed a system table. (CVS 5553)

FossilOrigin-Name: 0e1d8d14a153483e65bd0246d23db2b823a122d1
2008-08-11 18:44:58 +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
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
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
danielk1977
8cf6c554c0 Fix a bug causing the pager-cache size to be reset to its default value whenever the database schema was reloaded. (CVS 5283)
FossilOrigin-Name: 6dbe67da5cb0141e011b4fdcc3964a20f68be843
2008-06-23 16:53:46 +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
4837f53121 Add a test case of preparing a statement with an nBytes parameter of 0
and where the previous byte of the string is zero.  Ticket #3134. (CVS 5156)

FossilOrigin-Name: 846a69acb59403438696000b4ffd588ab42b2f95
2008-05-23 14:49:49 +00:00
drh
d2d88bbdec Do not references zSql(-1) if nBytes==0 in sqlite3_prepare().
Ticket #3134. (CVS 5155)

FossilOrigin-Name: 2d2c53e5058412a5f484ac2ca5bcef596aed2a7b
2008-05-23 14:32:18 +00:00
danielk1977
131c8bc0c2 Ensure that the db.mallocFailed flag is cleared before sqlite3_errmsg16() returns. (CVS 5154)
FossilOrigin-Name: 0d47653a3c39b7cd41c7e6edd8c4b4543658412d
2008-05-22 13:56:17 +00:00
danielk1977
3a2c8c8b73 Avoid an out-of-bounds read in sqlite3_prepare() and fix a case where the output variable *pzTail was being set incorrectly. Fix for #3027. (CVS 4957)
FossilOrigin-Name: c287a7b29410be12cf88f886e8e2525a42aa9c03
2008-04-03 14:36:25 +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
drh
bb4957f858 Initial implementation of per-connection limits and the sqlite3_limit() API.
The sqllimits1.test script crashes.  SQLITE_LIMIT_PAGE_COUNT and
SQLITE_LIMIT_VDBE_OP are currently ignored. (CVS 4897)

FossilOrigin-Name: 60c77882b2de9f6a45f8bd87c9c6a0cc613f8373
2008-03-20 14:03:29 +00:00
drh
345331507f When a parse of the sqlite_master table fails, include the name of the
object being parsed as part of the error message. (CVS 4881)

FossilOrigin-Name: 57805b588f6b6d070918102a0ff096ade674279a
2008-03-19 13:03:33 +00:00
drh
58edb657da Fix asserts in prepare.c to handle the misuse case of ppStmt==0. (CVS 4843)
FossilOrigin-Name: 788b2c6b537809a496bf30550a12e743c1697eb7
2008-03-08 12:23:30 +00:00
mlcreech
3a00f907a9 Various renames & cleanups to limit exported symbols on amalgamation build (CVS 4819)
FossilOrigin-Name: 9c6694bb61a8ecdbfb2d05e5e05a8cc97b792240
2008-03-04 17:45:01 +00:00
drh
17eaae7493 Additional documentation and tests making it clear that whenever
sqlite3_prepare() fails it sets *ppStmt to NULL. (CVS 4818)

FossilOrigin-Name: 39769f00c5d9ea20ad5d1c0569464529e953fa9d
2008-03-03 18:47:28 +00:00
drh
7e8b848a60 Make sqlite3SafetyOn() and sqlite3SafetyOff() macros which disappear when
compiling without -DSQLITE_DEBUG=1. (CVS 4744)

FossilOrigin-Name: 5375ad6b4b652f388469b0ce4e8e78b3f49169bd
2008-01-23 03:03:05 +00:00
drh
02cd2b80c1 Fix a bug introduced by checkin (4739). (CVS 4741)
FossilOrigin-Name: c8394ac24b87707fa7f2e3cb43ad8efb65d2595e
2008-01-22 19:34:27 +00:00
drh
c046f4000b Detect and report a particular type of database corruption that would
formerly cause a segfault. (CVS 4739)

FossilOrigin-Name: 6ed2d9f82e2c81d5f6c22a4e05c1a2cb5eedd10c
2008-01-22 16:35:36 +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
3c84ddff3e Continued work toward converting to a register-based VM. (CVS 4698)
FossilOrigin-Name: 92deff07bba2089bbe011f44defb3a0ac1362d56
2008-01-09 02:15:38 +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
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
4eab8b7b41 Fix a race condition that can occur when reloading the database schema in shared-cache mode. (CVS 4643)
FossilOrigin-Name: b37babef913fcceae7f0bd461a3105e184518d62
2007-12-27 15:12:16 +00:00
drh
be69bf6686 Fix a problem with SQLITE_MAX_SQL_LENGTH introduced by check-in (4636).
Ticket #2851 (CVS 4639)

FossilOrigin-Name: cdd866f59797b81b573c68d5c625f9bd9f0f6fde
2007-12-18 17:50:33 +00:00
drh
85b623f2f9 Change all instances of "it's" in comments to either "its" or "it is",
as appropriate, in case the comments are ever again read by a pedantic
grammarian.  Ticket #2840. (CVS 4629)

FossilOrigin-Name: 4e91a267febda572e7239f0f1cc66b3102558c36
2007-12-13 21:54:09 +00:00
drh
4aa2bfe67d Preset the legacy_file_format pragma to the value of the primary
database so that a VACUUM will not unknowingly alter the setting.
Ticket #2804. (CVS 4574)

FossilOrigin-Name: f731fa6bb398d8af621af17dc0677dd0f715c4a7
2007-11-28 13:43:16 +00:00