drh
38eef32172
Avoid unnecessary calls to sqlite3BtreeEnterAll() and sqlite3BtreeLeaveAll()
...
when no btree is using shared-cache.
FossilOrigin-Name: cfb3158204628eb2fd170090a7f212df0e4ce6c9
2017-01-02 18:19:29 +00:00
drh
4360fcea6d
Take care not to try to generate code for the ATTACH and DETACH commands
...
if there were syntax errors during parsing.
Fix for ticket [2f1b168ab4d4844]
FossilOrigin-Name: b0ff183b8ffdbebece06cfea1c6781fc0e8e8547
2016-11-11 03:37:24 +00:00
drh
209bc522b0
Add the EP_Leaf flag bit to the Expr.flags field to indicate Expr
...
nodes that do not have substructure. Use that bit to avoid unnecessary
recursion.
FossilOrigin-Name: 8a6ea455cd1bf42ae0a7f1f1789baf88d782db13
2016-09-23 21:36:24 +00:00
drh
7152cc0641
If no KEY is specified on ATTACH, copy the main schema key if the key size
...
is non-zero. In other words, allow for -1 as a valid key size in support
of the --textkey to SEE.
FossilOrigin-Name: 03573887dbf357f8aa54e4a1cd03b82b0ded8139
2016-09-16 19:42:47 +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
c2ae2073d9
Make the SQLITE_DEFAULT_SYNCHRONOUS and SQLITE_DEFAULT_WAL_SYNCHRONOUS
...
values zero-based to agree with PRAGMA synchronous.
FossilOrigin-Name: 592d2104361500e5002783ba329a2609389c57b9
2016-03-08 15:30:01 +00:00
drh
50a1a5aaca
Add compile-time options SQLITE_DEFAULT_SYNCHRONOUS and
...
SQLITE_DEFAULT_WAL_SYNCHRONOUS used to specify the default synchronous
settings for all database connections.
FossilOrigin-Name: 1fefa967aa93372d232b96b1e0232b7b855d6d00
2016-03-08 14:40:11 +00:00
drh
6702f761ea
Fix ATTACH to use the symbolic name PAGER_SYNCHRONOUS_FULL rather than
...
an integer literal.
FossilOrigin-Name: c4e192a0e5a408e198dbacb2752859a00d2b572f
2016-03-08 14:16:23 +00:00
drh
32c49904a6
Add the SQLITE_NOMEM_BKPT macro to enhance the ability to debug OOM errors.
...
Only effective with compiling with SQLITE_DEBUG.
FossilOrigin-Name: 9b3454762d142113f5923d754ca6bd2edefbd362
2016-02-15 18:15:15 +00:00
drh
80738d9c3e
Improvements to the application-defined function mechanism so that it is
...
more compact and runs faster, especially when the application defines
thousands of new SQL functions.
FossilOrigin-Name: 3201fbcc5105d23132e6b8b7ac825e66af4f8a39
2016-02-15 00:34:16 +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
6d258995e6
Refinements to synchronous logic:
...
(1) Use PAGER_SYNCHRONOUS_FULL rather than the corresponding magic number.
(2) Honor SQLITE_NO_SYNC on xDelete calls with sync
(3) Count xDelete syncs during testing
(4) Fix #ifs on SQLITE_EXTRA_DURABLE so that directory syncs on journal
unlink are off by default.
FossilOrigin-Name: e3157cb5ad0d22758e766a95fb1463a7810f7d7f
2016-02-04 09:48:12 +00:00
drh
9b34abee30
Use sqlite3VdbeAddOp4() rather than a separate sqlite3VdbeChangeP4() call, for
...
a slightly smaller and faster binary.
FossilOrigin-Name: a4258cd4613c55acacb5c7b61faa3de7eb0759d2
2016-01-16 15:12:35 +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
9c7c913cd6
Cache the sqlite3_context structure in the P4 operand of VDBE programs
...
for faster SQL function dispatch.
FossilOrigin-Name: 2abc44eb3b9d489321baa50bc25e17dafbda3687
2015-06-26 18:16:52 +00:00
drh
97ab32bcd3
Remove unnecessary parser error count increments. Let the sqlite3ErrorMsg()
...
take care of doing that.
FossilOrigin-Name: 3f3b0f683af2fbee83811536f6bef770ff919385
2015-04-17 18:22:53 +00:00
drh
2647dfa292
On a DETACH statement, keep all schemas intact except fo the one that is
...
being detached, and thus avoid unnecessary schema reparsing.
FossilOrigin-Name: 661db19b34566642dd44ee4cff4ebc093cb8a552
2015-04-13 22:26:55 +00:00
drh
ad0961b31b
Keep track of the optimal number of reserved bytes (by looking at reserve
...
byte requests in calls to sqlite3BtreeSetPageSize()) and then change the
reserve byte count to the optimal when doing a VACUUM or when using the
backup API.
FossilOrigin-Name: 28c2b726285ea88b334acfd6390a057d2d244838
2015-02-21 00:19:25 +00:00
drh
5942b01611
Make sure the Btree mutex is held when setting the locking mode and the
...
secure delete flag when attaching a shared-cache database.
FossilOrigin-Name: 6bef7ede2bbf0a51729e1943b0b0c895cb57c718
2014-12-12 00:40:58 +00:00
drh
a000ca681a
All interfaces working and tested.
...
FossilOrigin-Name: 96ea5c0b3cd1dec81d490f2f958ebd2e47a24921
2014-09-11 15:25:02 +00:00
drh
32c6a48b5e
Add support for the extra parameter on the sqlite3_set_authorizer() callback
...
and support for failing an ATTACH with an authentication-required database
using bad credentials. The extension is now feature complete, but much
testing and bug-fixing remains.
FossilOrigin-Name: 596e728b0eb19a34c888e33d4d37978ca2bf1e00
2014-09-11 13:44:52 +00:00
drh
aed1819875
Allow any arbitrary expression as the filename in an ATTACH statement,
...
including functions and subqueries.
FossilOrigin-Name: df70a1f30393b34146d6b8bf1df5a76aaf362efe
2013-12-20 14:48:12 +00:00
drh
d100f6912d
The sqlite3FixInit() routine cannot fail. So change the return type from "int"
...
to "void".
FossilOrigin-Name: 500c5932fe3f5fcd0940522f7839d581c555e0eb
2013-10-03 15:39:44 +00:00
dan
46539d7cfa
Return an error if an attempt is made to create a trigger with an SQL variable embedded within it. If such a variable reference is found within a trigger definition loaded from the sqlite_master table, silently replace it with a NULL.
...
FossilOrigin-Name: f35f6ae3da77dbdf5f7a4a9927475659fc6e0ca6
2013-10-03 12:29:38 +00:00
drh
c5cd124900
Increase the number of bits available in Expr.flags. Other tweaks aimed at
...
making expression processing more robust.
FossilOrigin-Name: 579a512538528cf4bb4381ba393c5d9e7310086b
2013-09-12 16:50:49 +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
drh
feb56e0e17
Adjust #ifdefs to get SQLITE_OMIT_AUTOMATIC_INDEX and SQLITE_OMIT_PAGER_PRAGMAS
...
to build.
FossilOrigin-Name: ed310201628cf79c0f57674ae7478ee6738b1c6e
2013-08-23 17:33:46 +00:00
drh
d3605a4f20
The fullfsync, checkpoint_fullfsync, and cache_spill pragmas apply to all
...
files of a database connection, including those opened by future ATTACH
statements.
FossilOrigin-Name: d07c4331a28d44deca1ece8a34118f5b121b3ee2
2013-08-17 15:42:29 +00:00
mistachkin
48864df97d
Many spelling fixes in comments. No changes to code.
...
FossilOrigin-Name: 6f6e2d50941e444ebc83604daddcc034137a05b7
2013-03-21 21:20:32 +00:00
drh
7f5febc729
Make sure memory is freed using a routine that is compatible with the
...
routine used to allocate the memory. The SQLITE_MEMDEBUG compile-time
option enforces this.
FossilOrigin-Name: 9f6c68856b694373b7ffb124abd996e519ba5921
2012-12-05 14:31:13 +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
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
drh
ffd9668fb5
Set the sqlite3.mallocFailed flag if sqlite3ParseUri fails with SQLITE_NOMEM.
...
FossilOrigin-Name: ca3797d4967361e31a8a5ce1ce8190b095f3ed4c
2011-05-07 18:40:36 +00:00
drh
522c26fbfb
Fix minor compiler warnings.
...
FossilOrigin-Name: 139eecbe1b072711a36128f1eeb24fc3e3bacc1c
2011-05-07 14:40:29 +00:00
dan
3a6d8aec2a
Have the ATTACH command do URI interpretation in the same way as sqlite3_open() and sqlite3_open_v2() do.
...
FossilOrigin-Name: 68240e75e87a54cde93352b0ec364d34365a8170
2011-04-23 15:54:54 +00:00
drh
9f6106f5ee
When ATTACH-ing a new database to an existing database with a codec, do
...
not enable the codec in the attached database if it is not enabled in the
existing database and it is not requested by the USING clause.
FossilOrigin-Name: 4caa5fc86e7fe404cd188713277f2801cd02dbc9
2011-04-09 02:34:33 +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
0097eb3942
Fix the ATTACH command so that the filename argument can be any expression
...
and so that if authorizer callback gets a NULL pointer for the filename
if the filename argument is anything other than a string literal.
Ticket [9013e13dba5b58c7]
FossilOrigin-Name: e64e1453a9c204d93de1af92dc0b3ca26762b024
2011-02-04 00:51:16 +00:00
drh
6ac78a0d9f
Fix several harmless compiler warnings.
...
FossilOrigin-Name: 7be03ecc04235420e54fed8a88742243278de160
2010-09-28 14:26:36 +00:00
drh
75c014c321
Remove the sqlite3BtreeFactor() wrapper routine. All modules now call
...
sqlite3BtreeOpen() directly.
FossilOrigin-Name: 0900e35348f4b9bf327d6ae2884c4ddbb6345d8d
2010-08-30 15:02:28 +00:00
drh
c6b2a0ff99
Change the journal_mode pragma to remove the "default journal mode" concept.
...
The journal_mode pragma only effects currently attached databases and does
not change the behavior of future attachments.
FossilOrigin-Name: e396184cd3bdb96e29ac33af5d1f631cac553341
2010-07-08 17:40:37 +00:00
dan
558814f8c6
Add some 'const' markers to static data that is really constant.
...
FossilOrigin-Name: e7073e23b80e7cae0c76d42f014ee9b2d40a8f2f
2010-06-02 05:53:53 +00:00
drh
ab9b74443c
Enhance the OP_JournalMode opcode with an ignore-errors option and use that
...
option the ATTACH command.
FossilOrigin-Name: 0bdea4cfbd7832f2a00c01b93c92ba13d20139ef
2010-05-10 11:20:05 +00:00
drh
3ebaee9633
The PRAGMA journal_mode=WAL; command now makes WAL the default journal mode
...
for new databases added with ATTACH, so the behavior is consistent with the
other journal modes.
FossilOrigin-Name: c3520460a4a39fc5e981c3033068ffbb422a4af2
2010-05-06 21:37:22 +00:00
dan
39547b418b
Fix a segfault that can occur if a malloc fails in ATTACH in shared-cache mode.
...
FossilOrigin-Name: e37137376a2b23062e2625b5285299b33630b326
2010-02-23 11:05:26 +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
shaneh
ad9f9f6693
Consistent use of #ifdef for SQLITE_HAS_CODEC to avoid confusion.
...
FossilOrigin-Name: 34a3413a5318050254b246ad859c91c134516a32
2010-02-17 17:48:46 +00:00
drh
af034ed685
Enhancements to the secure_delete pragma to make it easier to use.
...
FossilOrigin-Name: 2bb38bb96ff6b9fb91dd1cf214041cf113ac5508
2010-02-12 19:46:26 +00:00