drh
f3cdcdccbe
Use sqlite3_malloc64() in place of sqlite3_malloc() internally.
...
FossilOrigin-Name: 48f553b05c05373c0af4b9c3a542979db3a2ee19
2015-04-29 16:50:28 +00:00
dan
062c267dff
Update this branch with latest trunk changes.
...
FossilOrigin-Name: 9797482ded7de985e3b20aedec5e4d81f55065c8
2015-04-22 09:40:35 +00:00
drh
542a176d5e
Fix an off-by-one assert() in the virtual table argument tokenizer.
...
FossilOrigin-Name: c83052e48bbae0f45db2a44155b4e5482ee4a901
2015-04-19 23:11:10 +00:00
drh
a21f78b93f
Bring comments on the INSERT code generator up-to-date. Fix the INSERT code
...
generator so that it correctly handles inserts from a SELECT into a virtual
table with non-terminal hidden columns.
FossilOrigin-Name: 4ac81fac6c6302c042be3df493a41630b733fff0
2015-04-19 18:32:43 +00:00
dan
ea8562edce
Ensure that if a "ROLLBACK TO" statement is used to rollback (but not close) theoutermost transaction, the xRollbackTo() method of any virtual tables involved in the transaction is invoked.
...
FossilOrigin-Name: e98d481d84ef31b6ed154f14deae9b261f722616
2015-04-18 16:25:54 +00:00
dan
4e23536e56
In sqlite3_declare_vtab(), avoid accessing the database structure until after the "api-armour" safety-check has completed and the db mutex has been obtained.
...
FossilOrigin-Name: 860e4f8a94901d451fac3954960c1d2f589e8882
2015-04-10 16:05:33 +00:00
dan
75395ccd17
Do not allow virtual table constructors to be called recursively.
...
FossilOrigin-Name: 0a72726da21581ab16cb3e964bd825b8f2e931e4
2015-04-10 07:55:07 +00:00
drh
a68d628291
Prevent a virtual table from being destroyed while it is in use.
...
FossilOrigin-Name: fba674c083286dabb37fed9357b67593b56ed3a5
2015-03-24 13:32:53 +00:00
dan
71138b0f0f
Merge trunk changes with this branch.
...
FossilOrigin-Name: 142743918fd5a6d79fa10c44398360c3684a255a
2015-03-21 15:45:24 +00:00
dan
7377945a7b
Fix a problem with creating virtual table with names specified using malformed utf-8 within utf-16 databases.
...
FossilOrigin-Name: 9969cff2d0553c9bfa88a437e1bb0cc4200d49d7
2015-03-19 18:56:17 +00:00
drh
96c707a3c2
Improvements to SQLITE_ENABLE_API_ARMOR.
...
FossilOrigin-Name: 823ad40ccb5b51aaa0d5a48da63b465df9d0649a
2015-02-13 16:36:14 +00:00
dan
37db72f1f7
Merge latest trunk changes with this branch.
...
FossilOrigin-Name: 4b3651677e7132c4c45605bc1f216fc08ef31198
2015-01-01 18:03:49 +00:00
dan
e4bec37900
Fix various problems in fts5 revealed by fault-injection tests.
...
FossilOrigin-Name: e358c3de5c916f2c851ab9324ceaae4e4e7a0fbd
2014-12-18 18:25:48 +00:00
dan
d89b834f54
Fix a buffer overread during compilation of CREATE VIRTUAL TABLE statements that featured an explicit database name but no virtual table arguments. For example, "CREATE VIRTUAL TABLE main.ft USING fts4".
...
FossilOrigin-Name: f095cde579e7417306e11b5c1d2dd90b6bb547d5
2014-11-27 11:36:36 +00:00
drh
9ca95730e3
Add the SQLITE_ENABLE_API_ARMOR compile-time option. This is a work in
...
progress and is not yet completely functional.
FossilOrigin-Name: c297a84bc678f81ffc0aa9139ab73f0ca87c1971
2014-10-24 00:35:58 +00:00
drh
5604cc0d3b
Make sure new sqlite3_vtab objects created by the xCreate() virtual table
...
method are initialized by the system, in accordance with the documentation.
FossilOrigin-Name: eab82330631187dcc3e5d2dddd23dbda5752904b
2014-10-14 20:25:43 +00:00
drh
13f40da31d
Split the sqlite3Error() routine into sqlite3Error() and
...
sqlite3ErrorWithMsg(), for a slight size reduction and performance increase.
FossilOrigin-Name: cf561d1f0bb60b3d638632d20bd686dda4fa4a04
2014-08-22 18:00:11 +00:00
drh
acbcb7e013
Simplify the interface to the symbol table, saving 600 bytes of code space.
...
FossilOrigin-Name: 14b0f561fe15622b61c6676c9c455dca6b9ba5f0
2014-08-21 20:26:37 +00:00
drh
f30a969b80
Rework the logic that factors constant expressions out of inner loops, making
...
it both simpler and faster.
FossilOrigin-Name: 8dc5c76c766828d7c28090bec30ff48227e7b140
2013-11-15 01:10:18 +00:00
drh
d36e104112
Combine the FuncDef.iPrefEnc and FuncDef.flags fields into a single
...
new FuncDef.funcFlags field.
FossilOrigin-Name: 97b10e66e98e84755aa577f8da017bf1aea2056c
2013-09-06 13:10:12 +00:00
dan
016f7811f2
If a virtual table xSync() returns an error message, copy it into a buffer allocated by sqlite3DbMalloc() before transfering it to Vdbe.zErrMsg.
...
FossilOrigin-Name: 854ba3049005adf033e07e6740a36e63f2a56758
2013-08-21 17:35:48 +00:00
drh
9f01e582be
Clear the error string pointer in sqlite3_vtab object after the error string
...
is transferred to SQLite. Ticket [78588b938a11].
FossilOrigin-Name: 64bf8148b84e0ebb45c12b629f49bc9b316aceba
2013-07-17 11:54:47 +00:00
dan
e62c0694de
Fix a bug in fts3 causing it to return SQLITE_NOMEM when NEAR, OR and some auxiliary functions were used together. Also a segfault in vtab.c that could follow an OOM condition.
...
FossilOrigin-Name: 33f4f9817e8b3cb97ce02a4c49bd586332da37b2
2012-10-25 19:25:39 +00:00
drh
5a55826bcd
Avoid an assertion fault and/or freeing memory while it is still in use when
...
an error occurs during virtual table construction.
FossilOrigin-Name: a02599ad85d02470c9effa51c02dbda7796bfa16
2012-10-09 14:36:47 +00:00
dan
41fb5cd103
Shared-cache mode fixes for views and virtual tables.
...
FossilOrigin-Name: 2b370dea704b59262c604af0efcef5660b194454
2012-10-04 19:33:00 +00:00
drh
a371ace426
Change boolean fields in the Column object from unsigned characters into
...
bits in a single bit mask variable.
FossilOrigin-Name: 4163f5f194741bc2bdf141973912661c6aac70f1
2012-09-13 14:22:47 +00:00
drh
04f2e3403f
Fix an incorrect assert in the virtual table logic - it could fire following
...
an I/O error after sqlite3_close_v2() was added.
FossilOrigin-Name: 4ccc18e999c51f7f6637ee48ccca35c7706bfe6d
2012-08-27 14:39:47 +00:00
dan
ca8b9bac3b
Return SQLITE_MISUSE if an application attempts to register a virtual table module with the same name as an existing module.
...
FossilOrigin-Name: ea2cd55e098b21cd8997fd6c1978131d3ef2fab4
2012-05-16 14:29:11 +00:00
drh
81028a455d
The former sqlite3ResetInternalSchema() routine was really two different
...
routines, selected by parameter, each with a confused mission. So split
this routine up into three separate smaller routines, calling each
separately as needed. Hopefully this will make further refactoring and
schema reset collateral damage containment easier.
FossilOrigin-Name: aa0c3493d3647d7efe527067e9fcccefda8e3008
2012-05-15 18:28:27 +00:00
dan
bba02a95d9
When a connection disconnects from a shared-cache database, only delete the in-memory schema if there are no other connections.
...
FossilOrigin-Name: 46f4eb5430d7bc9a339cdf7124ff4bd518eaa39b
2012-05-15 17:15:34 +00:00
drh
9250581af4
All virtual table constructors to be invoked recursively. A test case for
...
this has been added to TH3.
FossilOrigin-Name: 696a5a40bb28c4a54c9951f877b67015dc00bf55
2012-04-26 22:47:20 +00:00
drh
b421b894e0
Add support for IF NOT EXISTS on CREATE VIRTUAL TABLE.
...
FossilOrigin-Name: 230983e86a897caa91a487ef2d4c1c7fb7c79f10
2012-01-28 19:41:53 +00:00
dan
341cadee54
Avoid attempting to call savepoint related methods on deleted sqlite3_vtab objects. Fix for [48f299634a].
...
FossilOrigin-Name: 3565fcf898960d7a23d23a2f363b039b2e29447b
2011-10-29 11:43:04 +00:00
drh
5d9c9da6e8
Create and use a function especially for adding the ParseSchema opcode.
...
This gives a small reduction in code and a small performance increase.
FossilOrigin-Name: 957b2ab67c6185f0e1062593d237de5c434a38bf
2011-06-03 20:11:17 +00:00
dan
2cac2078f6
Fix a case where a malloc() error could lead to mismatched virtual-table xBegin/xCommit/xRollback callbacks.
...
FossilOrigin-Name: d807304a695fc85402b86e1cd32a6e3bbb2823c8
2011-05-25 18:46:22 +00:00
drh
346506f97b
Changes to savepoint in virtual tables for simpler and more consistent
...
operation.
FossilOrigin-Name: 92f26a8b8f18832cb1f8ba7dd8e5b020e71a5883
2011-05-25 01:16:42 +00:00
drh
e485522462
Do not invoke the xRollbackTo or xRelease methods of a virtual table without
...
having first invoked an appropriate xSavepoint method. Add assert() statements
to FTS3/4 to verify that this is happening in all cases.
FossilOrigin-Name: 651ef24249d8c22c4f13e4c0bb98a60099cfd23a
2011-05-24 15:36:01 +00:00
drh
e578b5967c
Increase the iVersion for sqlite3_module needed for the xSavepoint,
...
xRelease, and xRollbackTo methods from 1 to 2. This is so that it will
conform to published documentation.
FossilOrigin-Name: 0f4954e9793332573d4ffa0c1e199180f4cb990a
2011-05-06 00:19:57 +00:00
drh
367e84d089
Fix an incorrect assert() in sqlite3_value_config(). Updates to the
...
sqlite3_value_config() documentation.
FossilOrigin-Name: 22cbc01a2600c6100112315d9afb5f2d8f80b3df
2011-05-05 23:07:43 +00:00
drh
87f67bf143
Fix sqlite3_vtab_on_conflict() to return the correct values for
...
ABORT, FAIL, and IGNORE.
FossilOrigin-Name: f0617d619dc6654f6d27543999c0aad724a0d967
2011-05-05 17:41:58 +00:00
drh
ef45bb75b3
Bump the version number to 3.7.7 on account of the new sqlite3_vtab_config()
...
and sqlite3_vtab_on_conflict() interfaces. Updates to the documentation on
those interfaces.
FossilOrigin-Name: 930be6a1bdec8c150caafd790973f7a401fc1970
2011-05-05 15:39:50 +00:00
drh
7af72cf963
Change sqlite3_create_module() so that it avoids resetting the schema as
...
long as preexisting modules are unchanged.
FossilOrigin-Name: 8485855afc71fb8078d53719c3da75021890ce9e
2011-05-05 13:54:28 +00:00
dan
d9495cd0c6
Fix problems related to savepoint rollback and fts3.
...
FossilOrigin-Name: ff69f823f23e6fb6e8b2857c4576d9c0732d9572
2011-04-27 12:08:04 +00:00
dan
a311b80392
Extra tests for fts3. And fixes for conflict-handling related problems in fts3.
...
FossilOrigin-Name: fb4a355871d9482ccb28b6ba03b842b3cc87b696
2011-04-26 19:21:34 +00:00
dan
b061d058cb
Add support for on conflict clauses to fts3/fts4.
...
FossilOrigin-Name: 6d2633a6d0a9bb88fb1a6adac0827dc51df2d4d2
2011-04-25 18:49:57 +00:00
drh
9bbc2e283e
Minor comment typo corrections. Simplify an assert. No functional changes.
...
FossilOrigin-Name: 82c2316240345167a571507d9392dfb6445ef523
2011-04-04 20:40:22 +00:00
drh
2120608e0f
Add a description of access rules for the Schema object and lots of asserts
...
to verify that the access rules are followed.
FossilOrigin-Name: ae8374af057b6e6546e9265148cfffe32fcb0849
2011-04-04 18:22:02 +00:00
drh
c7792fa052
Begin a series of changes designed to reduce the scope and frequency of
...
invalidating schemas. Design goals are that the internal schema should
never be deleted out from under a prepared statement that is running and
that all prepared statements should be expired if the schema is invalidated.
At the same time, minimize the number of schema invalidations. This change
merely revises the sqlite3ResetInternalSchema() function to use -1 as the
wildcard for "all" rather than 0, so that we can reset the main schema
independently of all the others.
FossilOrigin-Name: 6a8ad6e31e0d2b8a5ace38faf0efd805155ee5f3
2011-04-02 16:28:52 +00:00
drh
22645842a4
The changes to fix [f7b4edece25c9948] mean that the schema is always loaded
...
whenever a prepared statement is running. This means that a couple of
branches can be eliminated and one operand of OP_ParseSchema can be removed.
FossilOrigin-Name: b6e268fce12829f058f1dfa223731ec8479493f8
2011-03-24 01:34:03 +00:00
dan
06b5db0e39
Fix some segfaults that could occur in obscure circumstances where error messages contained characters that could be mistaken for printf format specifiers.
...
FossilOrigin-Name: f91471e7234db490f97298b1ccb8d6c7fc45b089
2010-10-21 15:12:44 +00:00