Note that there are some explanatory texts on larger screens.

plurals
  1. POData structure to work well with versioned string data?
    primarykey
    data
    text
    <p>What are "versioned data structures" called correctly in CS? </p> <p>Is there some list of existing "versioned data structures" somewhere that I could go through, compare and choose from on my own? I have found only one paper for "Multiple Version Hash Table" (title <a href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.56.6833&amp;rep=rep1&amp;type=pdf" rel="nofollow">Hash Tables in Logic Programming</a>, from circa 1987) and that's all I could find. </p> <p>Sample data (requested in discussion below):</p> <pre><code>"a b" c "d e" { f { "g h" "i j" { "k l m" n "o p q" { r; } } } } "a b" x { y { "z z z"; } } "foo bar" baz; "foo baz" bar; </code></pre> <p>If multiple similar "trees" occur, then they will stay in place, like:</p> <pre><code>foo { bar; oof; bar { "a b c"; } bar; } </code></pre> <p>will never get sorted but always stay in the same order as written.</p> <p>Data will be "compiled" into binary form by some "commit/version" tool and "rolled back" back to text form or queried by another tools.</p> <p>To clarify more, let's see some usage examples in Unix shell:</p> <pre><code>sh&gt; $EDITOR file.txt File saved. sh&gt; commit file.txt # create/commit file.txt.db (we assume 9 commits before this one) Commited as version 10. sh&gt; show file.txt.db 'a b' # Trailing '*' is implicit "a b" c "d e" { f { "g h" "i j" { "k l m" n "o p q" { r; } } } } "a b" x { y { "z z z"; } } sh&gt; show file.txt.db 'a b' '*' y "a b" x { y { "z z z"; } } sh&gt; show file.txt.db 'foo *' "foo bar" baz; "foo baz" bar; sh&gt; show file.txt.db -rollback=2 'a b' # "historical" query, say that 'a b" c "d e" ...' was not there the time "a b" x { y { "z z z"; } } sh&gt; rollback file.txt.db 2 Rolled back to version 2. sh&gt; $EDITOR file.txt File saved. sh&gt; commit file.txt # new "branch" commit (because of the rollback above)! Commited as version 2.1. </code></pre> <p>Note: ALL history is always saved! Nothing is going to be erased (if not explicitely requested by some other tool or so).</p> <p>Etc. Perhaps some "log" or "journal" needed??</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload