drh
b6bf97b384
Remove two redundant initializations from the virtual table logic.
...
FossilOrigin-Name: 6bd82b95a6b78bb60569af4da58ef4b9f997fe7b
2017-02-16 15:06:06 +00:00
drh
44266ec651
Always use the IsVirtual() macro to determine if a Table object is a virtual
...
table. Slightly smaller and faster code.
FossilOrigin-Name: 6affb1c89d87288cad87dde5a533832cdf06b8aa
2017-02-16 14:48:08 +00:00
drh
9a63f09204
Minor bug fixes and enhancements to the pragma eponymous virtual tables.
...
FossilOrigin-Name: 3f8f461504139a4efea0e033e3a274cc4b2d3072
2016-12-16 02:14:15 +00:00
drh
c06bbceb9c
Merge enhancements from trunk, and especially the ability to use
...
temp.sqlite_master as an alias for sqlite_temp_master.
FossilOrigin-Name: 994a4401f5c34fed17af420761291b03072a5ea1
2016-12-16 01:09:22 +00:00
drh
e0a04a36a6
All temp.sqlite_master to be used as an alias for sqlite_temp_master.
...
FossilOrigin-Name: 8d646905b830d5bb29092e103ac5cb499b3c7e5a
2016-12-16 01:00:21 +00:00
drh
2fcc1590c4
Code to automatically create eponymous virtual tables for read-only pragmas.
...
Compiles, but does not yet work.
FossilOrigin-Name: 988a61e8b03f302c69d11898d1ea95f002cba1a5
2016-12-15 20:59:03 +00:00
drh
79df77821a
Refactor the Table.nRef field as Table.nTabRef for easier grepping.
...
FossilOrigin-Name: 9cae4c2e300e20304ced0dc8c1415c4922185928
2016-12-14 14:07:35 +00:00
drh
2e5c5052fd
Fix typos in comments. No changes to running code.
...
FossilOrigin-Name: a07269f2a0f87e0b736127f528f6caf3b63f9052
2016-08-27 20:21:51 +00:00
drh
69c338263a
Rename the Db.zName field to Db.zDbSName to make it more descriptive and to
...
distinguish it from all of the other "zName" variables scattered throughout
the code.
FossilOrigin-Name: 92a22f01343a898455fd61c3b8e7d7c954f5b569
2016-08-18 14:33:11 +00:00
drh
5360b55c6c
Remove an incorrect ALWAYS() statement and add a test case to show when
...
the condition is sometimes false.
FossilOrigin-Name: 0f57effa3642e66a863f32cc7fba86d167084af3
2016-08-05 15:34:42 +00:00
dan
914b7e4238
Fix a problem introduced by [77948b5eceab92a7] causing duplicate calls to be made to the xSavepoint() method of virtual tables under some circumstances.
...
FossilOrigin-Name: e64a4173d2899acf13b73e6e28f2e164fd638a75
2016-08-02 11:29:16 +00:00
drh
0b2c140a4d
Fix a memory leak when a WITHOUT ROWID eponymous virtual table is used.
...
FossilOrigin-Name: 31b83a7d7e553163eb186fc966a885f237554ec2
2016-06-03 18:21:04 +00:00
drh
7edcf627af
Disallow access to the rowid column on WITHOUT ROWID virtual tables.
...
FossilOrigin-Name: d31c25972bfb6d04caad05534505698776e7e6d5
2016-06-03 17:27:14 +00:00
drh
ac9c3d2c18
Performance optimizations on the CSV virtual table. Disallow WITHOUT ROWID
...
virtual tables that have an xUpdate method, for now.
FossilOrigin-Name: 3134b3266c36c9d018e8d365ef46ef638c0792f4
2016-06-03 01:01:57 +00:00
drh
273bfe9f20
Fix corner cases in the WITHOUT ROWID virtual table logic.
...
FossilOrigin-Name: a393bbb972660c1ffcdda923d0f3564ecfcd2f0a
2016-06-02 16:22:53 +00:00
drh
62340f8498
An experimental branch with code that allows virtual tables to be declared
...
as WITHOUT ROWID tables. This might be useful for virtual tables that model
external data sources that do not have a convenient way of computing a unique
rowid. The current check-in almost works, but there are still serious issues.
FossilOrigin-Name: 49638f180e26477974cacc69b79e0be0a5e18b29
2016-05-31 21:18:15 +00:00
drh
01c736db40
Use sqlite3VdbeAddOp0() to code OP_Expire, to save a few bytes.
...
FossilOrigin-Name: 3d55d24dcb27f07d1e645738ee4707e4df923036
2016-05-20 15:15:07 +00:00
drh
d7564865ad
The sqlite3_column_decltype() routine should return NULL, not an empty string,
...
if the column has no declared type.
FossilOrigin-Name: 605eba4a756e7185119088e2242f82691d078b01
2016-03-22 20:05:09 +00:00
drh
94eaafa9ce
Reduce the amount of heap required to store many schemas by storing each
...
column datatype appended to the column name, rather than as a separate
allocation.
FossilOrigin-Name: 842b21162713bb141b845b01c136457a31af4ab0
2016-02-29 15:53:11 +00:00
drh
6ad224e91e
Change a char* to const char* in order to suppress some harmless
...
compiler warnings.
FossilOrigin-Name: 56f62e34ae9d5c7db07367f0007df258b2e76bd2
2016-02-24 19:57:11 +00:00
mistachkin
fad3039c51
Enhance ability to debug out-of-memory errors.
...
FossilOrigin-Name: 6a9c4a3ebfb7cc0738ef6634440ccab44a21ff28
2016-02-13 23:43:46 +00:00
drh
575fad6500
Add the slightly faster sqlite3DbMallocRawNN(db,n) routine for the majority
...
cases where db is guaranteed to be not NULL.
FossilOrigin-Name: 0a802e96ab06e2643834b83671fa8353da1a348d
2016-02-05 13:38:36 +00:00
drh
4a642b6060
Improvements to the way that OOM errors are processed.
...
FossilOrigin-Name: c3ef03478a5788c855b3aef385d43ae7f494f440
2016-02-05 01:55:27 +00:00
drh
2d80151f32
Combine the xFunc and xStep pointers of the FuncDef object into a single
...
pointer xSFunc.
FossilOrigin-Name: 0d1b3d7d3ca66cb0b97493f1aeade1703af3c9f4
2016-01-14 22:19:58 +00:00
drh
d7fd6aa4ba
Remove two unused lines of code - discovered by scan-build.
...
FossilOrigin-Name: 77b707b77496a08703fe9405e8e4521a4e5b419e
2015-10-08 02:44:42 +00:00
dan
65c4f591be
Ensure that the xSavepoint() virtual table method is correctly invoked if there are already open savepoints (or statement transactions) the first time a virtual table is written within a transaction.
...
FossilOrigin-Name: 77948b5eceab92a77c39d0864ac15ad453a76fd7
2015-09-29 16:41:23 +00:00
drh
076e85f59c
Add the sqlite3VdbeLoadString() and sqlite3VdbeMultiLoad() routines to help
...
with code generation, especially on PRAGMAs. Rename sqlite3VdbeAddGoto()
to just sqlite3VdbeGoto().
FossilOrigin-Name: 847387ec8e6fef283899578fb232b2c23b00ee5b
2015-09-03 13:46:12 +00:00
drh
d8b1bfc6bf
Fix corner-case memory management issues in table-valued functions. Change
...
virtual table handling so that if xDestroy is missing the table is
eponymous only even if xCreate is present.
FossilOrigin-Name: 774e6a14b124bbae4da0e188b62aee9ffb8c3745
2015-08-20 23:21:34 +00:00
mistachkin
197d59ffc4
Skip calling the virtual table xDestroy method when it is null.
...
FossilOrigin-Name: b73ad305a6b7cb84fe0a1efb334b8e4592e21c40
2015-08-20 21:14:31 +00:00
drh
509c3fc004
Fix eponymous virtual tables so that they do not automatically make the first
...
column the rowid. Enhance the generate_series virtual table to support rowid.
FossilOrigin-Name: a325a08599759471047e234ef9cfcc3cb110aafd
2015-08-19 19:01:28 +00:00
drh
398f872d1f
Virtual table modules with a null xCreate method act as eponymous-only modules -
...
they cannot be used in a CREATE VIRTUAL TABLE statement. Add the series.c
extension that implements a postgres-like generate_series virtual table to
demonstrate this capability.
FossilOrigin-Name: c58426dbd5ea8b8440ebcc1214f79fa63d658216
2015-08-19 13:54:20 +00:00
drh
b89c92a615
Merge changes from trunk.
...
FossilOrigin-Name: dddd792dedf0c73ebe74b4ff8d303e6216c16b6a
2015-08-19 12:52:51 +00:00
drh
0e07f6ae40
Simplification to error handling in addModuleArgument() in the virtual table
...
processing.
FossilOrigin-Name: c573b0a1aa3ba509234f07520fa94d008bcbb330
2015-08-19 12:45:57 +00:00
drh
51be3873c0
Initial implementation of eponymous virtual table instances.
...
FossilOrigin-Name: c1f43a7799a9298abea01b2f8531fc7cdadc4594
2015-08-19 02:32:25 +00:00
dan
5d03b9d365
Merge latest trunk changes with this branch.
...
FossilOrigin-Name: b5f0e8c5b4bc018d672617ffd342d12b228548b9
2015-05-13 18:12:58 +00:00
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