/ Check-in [e47a5aea]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Fix a typo in shared_schema.md.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | reuse-schema
Files: files | file ages | folders
SHA3-256:e47a5aea76560e86e5417fea9e2219ec6c30e47ef383e499cfe927f64d584dac
User & Date: dan 2019-02-14 17:59:36
Wiki:reuse-schema
Context
2019-02-14
18:38
Change the name of the SQLITE_OPEN_REUSE_SCHEMA flag to SQLITE_OPEN_SHARED_SCHEMA. check-in: 7257fcc8 user: dan tags: reuse-schema
17:59
Fix a typo in shared_schema.md. check-in: e47a5aea user: dan tags: reuse-schema
17:51
Add documentation file doc/shared_schema.md to describe the change on this branch. check-in: a5f8067d user: dan tags: reuse-schema
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to doc/shared_schema.md.

35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
For SQLITE_OPEN_SHARED_SCHEMA connections, the
SQLITE_DBSTATUS_SCHEMA_USED sqlite3_db_used() distributes
the memory used for a shared schema object evenly between all database
connections that share it.

## Implementation Notes

A single Schema object is never used by more than database simultaneously,
regardless of whether or not those databases are attached to the same or
different database handles. Instead, a pool of schema objects is maintained 
for each unique sqlite_master-contents/schema-cookie combination
opened within the process. Each time database schemas are required by a
connection, for example as part of an sqlite3_prepare\*(),
sqlite3_blob_open() or sqlite3_blob_open() call, it obtains
the minimum number of schemas required from the various schema-pools, returning







|







35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
For SQLITE_OPEN_SHARED_SCHEMA connections, the
SQLITE_DBSTATUS_SCHEMA_USED sqlite3_db_used() distributes
the memory used for a shared schema object evenly between all database
connections that share it.

## Implementation Notes

A single Schema object is never used by more than one database simultaneously,
regardless of whether or not those databases are attached to the same or
different database handles. Instead, a pool of schema objects is maintained 
for each unique sqlite_master-contents/schema-cookie combination
opened within the process. Each time database schemas are required by a
connection, for example as part of an sqlite3_prepare\*(),
sqlite3_blob_open() or sqlite3_blob_open() call, it obtains
the minimum number of schemas required from the various schema-pools, returning