diff options
| author | Marcos Magueta <maguetamarcos@gmail.com> | 2026-10-31 03:18:52 -0300 |
|---|---|---|
| committer | Marcos Magueta <maguetamarcos@gmail.com> | 2026-10-31 03:18:52 -0300 |
| commit | bad70803899c9cb6c6126396b31af710e9a885b0 (patch) | |
| tree | 884b149092dc7c42ce365085e93e7993221dfb01 /docs/modes.org | |
| parent | 2c500b00e821c11aa9d5c86985e6adc2b59572a9 (diff) | |
| download | RNT-bad70803899c9cb6c6126396b31af710e9a885b0.tar.gz RNT-bad70803899c9cb6c6126396b31af710e9a885b0.zip | |
docs for hashed index keys, merged restrictions and narrower where modesindexes
Diffstat (limited to 'docs/modes.org')
| -rw-r--r-- | docs/modes.org | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/docs/modes.org b/docs/modes.org index 1cd5905..2da300a 100644 --- a/docs/modes.org +++ b/docs/modes.org @@ -135,10 +135,11 @@ executes anything, and records them on each relation it derives. - =Base r= has the modes of =r=. - =Project (p, A)= keeps the modes of =p= whose =bound= lies within =A=, with the same =yields=. -- =Where (Base r, b)=, when =r= offers an index on an attribute =b= - binds, has the modes of =r= with the attributes of =b= taken out of - each =bound=, by =Mode.given=. The binding supplies their values, and - the index produces the tuples, so ={a; Finite}= becomes ={∅; Finite}=. +- =Where (Base r, b)=, when =r= offers an index on an attribute =a= that + =b= binds, has the modes of =r= with =a= taken out of each =bound=, by + =Mode.given=. The binding supplies its value, and the index produces + the tuples, so ={a; Finite}= becomes ={∅; Finite}=. The other attributes + of =b= only filter what the index produces, so they stay bound. - Any other =Where (p, b)= keeps the modes of =p=, since it can only filter what =p= enumerates. @@ -171,7 +172,7 @@ with =undecidable-membership=. * Indexes A substantial relation keeps an index on each attribute =a=, a tree -keyed by the encoded value of =a= and the hash of the tuple, and each +keyed by the hash of the value of =a= and the hash of the tuple, and each adds the mode ={a; Finite}=. A projection that keeps =a= keeps that mode, and a FOL =Where= that binds =a= reads only the matching entries. [[file:partial-bindings.org][Partial bindings]] describes how the indexes are stored, read and built. |
