Commit Graph

102 Commits

Author SHA1 Message Date
drh 8b307fbfa0 Automatically generate transient indices for tables in joins that would
otherwise have to use a full table scan.

FossilOrigin-Name: 1b2a04125f964e14f3fb90171c5ab86a0641d1c9
2010-04-06 15:57:05 +00:00
drh 413c3d36a2 Continuing improvements to error reporting and the sqlite3_log() routine.
FossilOrigin-Name: edea3bb740ddd096a46e00678b59d465bb1e2903
2010-02-23 20:11:56 +00:00
drh 9978c97ec5 Remove the obsolete sqlite3SafetyOn() mechanism. Add additional logging
output for CORRUPT, and CANTOPEN errors.

FossilOrigin-Name: 7c4cca6d1a23a6d1591b62f58c3716a944969947
2010-02-23 17:36:32 +00:00
drh 0e3c512bff Change to order of two branches in vtab.c in order to a restore 100% test
coverage.

FossilOrigin-Name: fdfdc777c59a108496c7381c8b267b38485e2c13
2009-12-08 22:16:15 +00:00
dan 84db21ec6a Add tests to improve coverage of fts3. Associated bugfixes.
FossilOrigin-Name: f0eac4175aee6c50ee68acc253f76fbe44574250
2009-12-08 19:05:53 +00:00
drh c81c11f62c Remove the obsolete "$Id:$" RCS identifier strings from the source code.
FossilOrigin-Name: f6c045f649036958078cb15cd9d5453680c82b0c
2009-11-10 01:30:52 +00:00
dan 65a7cd1631 More fixes and comment updates.
FossilOrigin-Name: 38a9327bad1a01e3d7a47fad44ece2f6c7e88643
2009-09-01 12:16:01 +00:00
dan 165921a742 Changes to support recursive triggers.
FossilOrigin-Name: 9b9c19211593d5ff7b39254a29c284560a8bcedb
2009-08-28 18:53:45 +00:00
drh eeb844a7f1 Suppress various compiler warnings. (CVS 6963)
FossilOrigin-Name: 257e9b575029f63277ed602d1402f87cfa15d22e
2009-08-08 18:01:07 +00:00
danielk1977 595a523a10 Allow virtual tables to be used in shared-cache mode. (CVS 6928)
FossilOrigin-Name: 5d9e767a05e381235e064061043e30cc03a11a07
2009-07-24 17:58:53 +00:00
danielk1977 e25a50b6c3 Fix a 1-byte buffer overwrite that can occur when a virtual table overloads an SQL function. (CVS 6833)
FossilOrigin-Name: bfe336a8993e06e70d3c32a929202fb015dcbb89
2009-07-01 18:04:20 +00:00
shane 8509570763 Fix compiler warnings with MSVC build. (CVS 6761)
FossilOrigin-Name: e1e6430752449a34671b6c89326b03ac36ea6d9a
2009-06-15 16:27:08 +00:00
drh e98c9049a0 Further reductions in the amount of stack space required. (CVS 6707)
FossilOrigin-Name: 04bad9eb6dd8bf7cafc9f3918b676e95d5b1c984
2009-06-02 21:31:38 +00:00
drh 748ce21115 Fix a memory leak that occurs when an out-of-memory error occurs while
preparing a statement that has multiple virtual table updates within
triggers.  Other virtual table changes to support full-coverage testing. (CVS 6661)

FossilOrigin-Name: 02b77a582c65e0eb45eb1a9abbdeef11f52d7ce6
2009-05-20 20:10:47 +00:00
drh 9e27890ed9 Remove unused, undocumented, and untested error reporting logic from the
xFindFunction interface in virtual tables. (CVS 6660)

FossilOrigin-Name: 55d6ced262f5281076e4a68097ed21e150a9c225
2009-05-20 16:22:02 +00:00
drh 55f04f281b If a virtual table constructor returns SQLITE_NOMEM, set the mallocFailed
flag in the corresponding database connection to insure that the error
is propagated back to the top layer. (CVS 6627)

FossilOrigin-Name: 5635666f20358e854a76d244768198734afd4299
2009-05-11 23:37:59 +00:00
drh a83ccca794 Do not store the zero string terminator as part of the name when holding
symbols in the symbol table. (CVS 6557)

FossilOrigin-Name: 23d67af39227aeade2ea0292e1b8844eea580993
2009-04-28 13:01:09 +00:00
drh 63842415bd Add a comments and an assert() to the virtual table implementation.
No functional changes. (CVS 6497)

FossilOrigin-Name: ac5d0c0aa1de687bde972fbf0db8f04508825205
2009-04-11 16:27:19 +00:00
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 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 404ca07578 Add the sqlite3_unlock_notify() API. (CVS 6348)
FossilOrigin-Name: b649a6cc5bfefddd6a04b1183647d2923e0a0daa
2009-03-16 13:19:36 +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 b27b7f5d3b More explicit type casting to silence VC++. (CVS 6006)
FossilOrigin-Name: 14e6d19c3157ccdce170e769d678c7f472dd3db2
2008-12-10 18:03:45 +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 777da0848d Fix a couple of memory leaks that may follow malloc failures. (CVS 5906)
FossilOrigin-Name: 4cf8a8e1bf22e1d8f7166e64328a95fe36c75033
2008-11-13 19:12:34 +00:00
danielk1977 093e0f6ffe Avoid committing a transaction from within the xSync() method of a virtual table. Fix for #3497. (CVS 5902)
FossilOrigin-Name: eabb8b7591eab164c637d78ca4df00fcb5bd3c5b
2008-11-13 18:00:14 +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
danielk1977 8c0a791a58 Add the pcache module from the experimental branch. Also change things so that most of the built-in SQL functions are kept in single static hash-table, rather than creating and populating a separate hash table for each open database connection. (CVS 5566)
FossilOrigin-Name: cb494e10d71852024647aaa254203579ad438ea9
2008-08-20 14:49:23 +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
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
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 4dc754d96d Read the sqlite3_vtab.zErrMsg after each call to a virtual table
method and transfer any error into the database connection.
Fix the fts2.test and fts3.test scripts to that they return
silently rather than failing the test sequence if the appropriate
FTS implementation is unavailable. (CVS 5463)

FossilOrigin-Name: e2c6771d44f1b4fee16ef90e91c3498be2a7d2b1
2008-07-23 18:17:32 +00:00
danielk1977 27a430cc84 Fix a failure to report a failed malloc() within sqlite3_create_module(). (CVS 5284)
FossilOrigin-Name: 3ca7dab88e030cc945e0d358d7f53ddca35bc221
2008-06-23 17:44:18 +00:00
drh 344c38e340 Fix a couple of minor problems with transactions in virtual tables. (CVS 5081)
FossilOrigin-Name: 2275fc6ee06b17da5808cecfa5570ac6439eaf74
2008-05-05 13:23:04 +00:00
drh 4f3dd1502e Make sure that transactions are started on all virtual tables that
changes in a single statement, not just the first.  Ticket #3083.
Need to add test cases. (CVS 5063)

FossilOrigin-Name: 133b7ee50ea6012739ebe0e334374c5d9b1fcc7f
2008-04-28 18:46:43 +00:00
drh 7209c697a1 Remove all references to sqlite3_intptr_t. (CVS 5051)
FossilOrigin-Name: 6a94d19747a05df2694d3720f76de3dab3836578
2008-04-27 18:40:11 +00:00
drh 665850fbef Correctly handle virtual tables that are created and dropped all within
a single transaction.  Ticket #2994. (CVS 4985)

FossilOrigin-Name: 0acb1b428d1181f597a2a665cae3eef5775f15f1
2008-04-10 18:35:21 +00:00
mlcreech a9e852b667 Handle non-autoconf build correctly with new changes (CVS 4832)
FossilOrigin-Name: e2a9f5f1054f077e4773dd3d2c8f2ce5be118a01
2008-03-06 09:58:50 +00:00
mlcreech 12d4082f26 Use intptr_t definition to silence warnings about ptr-int casts (CVS 4824)
FossilOrigin-Name: 54839a84e6ce080ea8a0f6ce32acaa053d20f311
2008-03-06 07:35:21 +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 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 b765411161 Continuing work toward converting the VM into a register machine. (CVS 4707)
FossilOrigin-Name: a6dddebcc5ccbbf3009c9d06163a8b59036331de
2008-01-12 12:48:07 +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
rse b72e88d71c fix typo in comment (CVS 4438)
FossilOrigin-Name: c2ac43a4ef674c0202d5bd1ec57fc25c89d0554e
2007-09-20 11:32:18 +00:00
drh 777b17af7e Fixes for uninitialized variables. Tickets #2658 and #2659. (CVS 4437)
FossilOrigin-Name: 27fe1288336665c4d47c5d7ddcbeacc451ec4a9d
2007-09-20 10:02:54 +00:00
danielk1977 5bccfc95b1 Fix a problem whereby the *ppVtab output buffer passed to sqlite3_module.xConstruct() could be invalidated (freed) if a malloc() failure occured within a call to sqlite3_declare_vtab(). (CVS 4397)
FossilOrigin-Name: efd61df1b9170f0134787ae17ac996a7eff64add
2007-09-04 15:38:57 +00:00
danielk1977 26783a58e2 Use the DbMalloc() and DbRealloc() functions more consistently. (CVS 4323)
FossilOrigin-Name: c790c234c369c6b7610e67dcaaa9eee347df729c
2007-08-29 14:06:22 +00:00
danielk1977 a1644fd863 Modifications to the malloc failure tests to test transient and persistent failures. (CVS 4321)
FossilOrigin-Name: e38ef81b85feb5bff2ad8448f3438ff0ab36571e
2007-08-29 12:31:25 +00:00
drh 153c62c461 The win32 driver compiles but does not yet work well. Many bugs
fixed. (CVS 4282)

FossilOrigin-Name: 3a68fcddfa9184e4b310ce0a21312c54b9462ec8
2007-08-24 03:51:33 +00:00
drh 4a50aac564 Improvements to memory leak detection. The --backtrace=NNN option is now
recognized by tester.tcl.  Memory leak summaries are automatically written
to the file ./memleak.txt and each leak is tagged with the test in which
it occurred.  The quick.test script runs on Linux with no errors and
no leaks. (CVS 4273)

FossilOrigin-Name: 21f6b31097692171c6493e6ca6de6acbd62dc595
2007-08-23 02:47:53 +00:00