122
edits
m (answer one of Kai's questions) |
(→Shared Database Proposal: Fix NSS version number for the SQLite change.) |
||
(3 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
== Shared Database Proposal == | == Shared Database Proposal == | ||
NSS | Prior to version 3.35, NSS had been using an old version of the Berkeley DataBase as its database engine since Netscape Navigator 2.0 in 1994. This database engine is commonly described in NSS documents as "DBM" and has a | ||
number of limitations. One of the most severe limitations concerns the | number of limitations. One of the most severe limitations concerns the | ||
number of processes that may share a database file. While any process has | number of processes that may share a database file. While any process has | ||
Line 7: | Line 7: | ||
Multiple processes may share a DBM database ONLY if they ALL access it | Multiple processes may share a DBM database ONLY if they ALL access it | ||
READ-ONLY. Processes cannot share a DBM database file if ANY of them wants | READ-ONLY. Processes cannot share a DBM database file if ANY of them wants | ||
to update it. | to update it. | ||
NOTE: Since 3.35, NSS has moved to an [[NSS SQLite-based DB]]. | |||
This limitation has been cumbersome for applications that wish to use NSS. | This limitation has been cumbersome for applications that wish to use NSS. | ||
Line 491: | Line 493: | ||
Step 2: Determine if a merge is necessary. If a merge is necessary, | Step 2: Determine if a merge is necessary. If a merge is necessary, | ||
NSS will set the slot to a 'removable slot'. You can use | NSS will set the slot to a 'removable slot'. You can use PK11_IsRemovable to | ||
test for this. | test for this. | ||
Line 589: | Line 591: | ||
* Step 2: Determine if update/merge is needed. | * Step 2: Determine if update/merge is needed. | ||
*/ | */ | ||
if ( | if (PK11_IsRemovable(slot) && PK11_NeedLogin(slot)) { | ||
/* need to update/Merge the database */ | /* need to update/Merge the database */ | ||
/* | /* | ||
Line 646: | Line 648: | ||
* Step 2: Determine if update/merge is needed. | * Step 2: Determine if update/merge is needed. | ||
*/ | */ | ||
if ( | if (PK11_IsRemovable(slot)) { | ||
/* need to update/Merge the database */ | /* need to update/Merge the database */ | ||
/* | /* |
edits