mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-29 13:38:26 +00:00
add
This commit is contained in:
parent
fb2d509d86
commit
6b85b14c92
76
doc/design/db_rules
Normal file
76
doc/design/db_rules
Normal file
@ -0,0 +1,76 @@
|
||||
|
||||
Here is a more formal statement of the important database design
|
||||
rules. Each rule is given a 5 character mnemonic for referral
|
||||
convenience.
|
||||
|
||||
|
||||
Reference Safety [DBREF]
|
||||
|
||||
1) Any node reference retrieved from the database shall remain
|
||||
valid until discarded by the caller.
|
||||
|
||||
2) Any rdataset retrieved from the database shall remain valid,
|
||||
with its rdata contents unaltered, until it has been discarded
|
||||
by the caller.
|
||||
|
||||
|
||||
Basic Versioning [DBVER]
|
||||
|
||||
The rdata contents of a committed version do not change.
|
||||
|
||||
|
||||
Database Future Version [DBFUV]
|
||||
|
||||
1) Zone databases may have at most one open future version.
|
||||
|
||||
2) When committed, the future version becomes the current version.
|
||||
|
||||
3) Until it is committed, the future version changes may be
|
||||
rolled back.
|
||||
|
||||
|
||||
Node Lookups [DBNLU]
|
||||
|
||||
XXX
|
||||
|
||||
|
||||
Zone Node Lookups [DBZNL]
|
||||
|
||||
A node zone lookup returns the requested node, if it exists, in the
|
||||
version specified, or DNS_R_NONEXISTENT otherwise.
|
||||
|
||||
|
||||
Zone Rdataset Lookups [DBZRL]
|
||||
|
||||
A zone lookup returns the requested data, if any, in the
|
||||
version specified, or DNS_R_NONEXISTENT otherwise.
|
||||
|
||||
|
||||
Cache Node Lookups [DBCNL]
|
||||
|
||||
1) A node lookup shall return a handle to the desired node,
|
||||
if it exists.
|
||||
|
||||
2) If there is a negative caching entry for the desired node,
|
||||
DNS_R_NONEXISTENT shall be returned.
|
||||
|
||||
3) If the desired node does not exist, and there is not a
|
||||
negative caching entry, DNS_R_UNKNOWN shall be returned.
|
||||
|
||||
|
||||
Cache Rdataset Lookups [DBCRL]
|
||||
|
||||
1) A cache lookup returns the most recently written data
|
||||
(if any).
|
||||
|
||||
2) If there is a negative caching entry for the desired data,
|
||||
DNS_R_NONEXISTENT shall be returned.
|
||||
|
||||
3) If the requested data does not exist, and there is not a
|
||||
negative caching entry, DNS_R_UNKNOWN shall be returned.
|
||||
|
||||
|
||||
Cache Updates [DBCUP]
|
||||
|
||||
Concurrent attempts to update the same rdataset type of a given
|
||||
node must appear to execute in some order.
|
Loading…
x
Reference in New Issue
Block a user