Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Fix a comment in build.c. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | reuse-schema |
Files: | files | file ages | folders |
SHA3-256: |
d6a9bff6f5cc52957deffe47fdba1197 |
User & Date: | dan 2019-02-25 19:23:01.367 |
Context
2019-02-26
| ||
15:43 | Add the ".shared-schema check|fix DB1 DB2..." command to the shell tool. For checking if a database is eligible to share an in-memory with the main database, and for fixing small problems that prevent it from being so. (check-in: 7d8e8a9572 user: dan tags: reuse-schema) | |
2019-02-25
| ||
19:23 | Fix a comment in build.c. (check-in: d6a9bff6f5 user: dan tags: reuse-schema) | |
18:07 | Merge latest trunk changes into this branch. (check-in: 5c1cf30859 user: dan tags: reuse-schema) | |
Changes
Changes to src/build.c.
︙ | ︙ | |||
286 287 288 289 290 291 292 | } #endif /* ** If this database connection was opened with the SQLITE_OPEN_SHARED_SCHEMA ** flag specified, then ensure that the database schema for database iDb ** is loaded. Either by obtaining a Schema object from the schema-pool, or | | > > | | > > | | 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 | } #endif /* ** If this database connection was opened with the SQLITE_OPEN_SHARED_SCHEMA ** flag specified, then ensure that the database schema for database iDb ** is loaded. Either by obtaining a Schema object from the schema-pool, or ** by reading the contents of the sqlite_master table. Unless it is NULL, ** the location indicated by parameter pbUnload is set to 1 if a shared-schema ** is loaded. ** ** If the database handle was not opened with SQLITE_OPEN_SHARED_SCHEMA, or ** if the schema for database iDb is already loaded, this function is a no-op. ** ** SQLITE_OK is returned if successful, or an SQLite error code otherwise. If ** an error code is returned, (*pzErr) may be set to point to a buffer ** containing an error message. It is the responsibility of the caller to ** eventually free this buffer using sqlite3_free(). */ int sqlite3SchemaLoad(sqlite3 *db, int iDb, int *pbUnload, char **pzErr){ int rc = SQLITE_OK; if( IsReuseSchema(db) && DbHasProperty(db, iDb, DB_SchemaLoaded)==0 && (db->init.busy==0 || (iDb!=1 && db->init.iDb==1)) ){ struct sqlite3InitInfo sv = db->init; memset(&db->init, 0, sizeof(struct sqlite3InitInfo)); rc = sqlite3InitOne(db, iDb, pzErr, 0); db->init = sv; if( pbUnload && rc==SQLITE_OK && iDb!=1 ) *pbUnload = 1; } return rc; } /* ** Locate the in-memory structure that describes a particular database ** table given the name of that table and (optionally) the name of the |
︙ | ︙ |