doc/evfuse_db.txt
author Tero Marttila <terom@fixme.fi>
Sat, 13 Dec 2008 19:55:50 +0200
branchnew-evsql
changeset 53 0d6e07f4c9a1
parent 38 1fd4da071575
permissions -rw-r--r--
separate evsql documentation
24
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     1
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     2
Just a simple pure-data filesystem stored in a SQL database. Implementation using PostgreSQL.
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     3
No weird dynamic magic.
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     4
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     5
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     6
file_tree:
38
1fd4da071575 rework/hack parent to be a FOREIGN KEY (add a dir_ino col), implement dbfs_link
Tero Marttila <terom@fixme.fi>
parents: 24
diff changeset
     7
    offset              serial4                     ephemeral counter used to tell one file entry from another
1fd4da071575 rework/hack parent to be a FOREIGN KEY (add a dir_ino col), implement dbfs_link
Tero Marttila <terom@fixme.fi>
parents: 24
diff changeset
     8
    ino                 int4 -> inodes.ino          the file inode
1fd4da071575 rework/hack parent to be a FOREIGN KEY (add a dir_ino col), implement dbfs_link
Tero Marttila <terom@fixme.fi>
parents: 24
diff changeset
     9
    ino_dir             int4 -> inodes.ino          the file's inode if it's a dir, NULL otherwise
1fd4da071575 rework/hack parent to be a FOREIGN KEY (add a dir_ino col), implement dbfs_link
Tero Marttila <terom@fixme.fi>
parents: 24
diff changeset
    10
    name                varchar(256)                the filename
1fd4da071575 rework/hack parent to be a FOREIGN KEY (add a dir_ino col), implement dbfs_link
Tero Marttila <terom@fixme.fi>
parents: 24
diff changeset
    11
    parent              int4 -> file_tree.ino_dir   file entry's parent dir
1fd4da071575 rework/hack parent to be a FOREIGN KEY (add a dir_ino col), implement dbfs_link
Tero Marttila <terom@fixme.fi>
parents: 24
diff changeset
    12
    
1fd4da071575 rework/hack parent to be a FOREIGN KEY (add a dir_ino col), implement dbfs_link
Tero Marttila <terom@fixme.fi>
parents: 24
diff changeset
    13
    unique(ino_dir)
1fd4da071575 rework/hack parent to be a FOREIGN KEY (add a dir_ino col), implement dbfs_link
Tero Marttila <terom@fixme.fi>
parents: 24
diff changeset
    14
    unique(name, parent)
24
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    15
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    16
inodes:
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    17
    ino                 serial4                 inode number
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    18
    type                char(3)
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    19
            REG                         normal file
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    20
            DIR                         directory
38
1fd4da071575 rework/hack parent to be a FOREIGN KEY (add a dir_ino col), implement dbfs_link
Tero Marttila <terom@fixme.fi>
parents: 24
diff changeset
    21
            LNK                         symlink
24
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    22
    mode                int2                    file access modes 
38
1fd4da071575 rework/hack parent to be a FOREIGN KEY (add a dir_ino col), implement dbfs_link
Tero Marttila <terom@fixme.fi>
parents: 24
diff changeset
    23
    data                oid                     type=REG -> file data, else NULL
1fd4da071575 rework/hack parent to be a FOREIGN KEY (add a dir_ino col), implement dbfs_link
Tero Marttila <terom@fixme.fi>
parents: 24
diff changeset
    24
    link_path           varchar(512)            type=LNK -> symlink target, else NULL
24
82cfdb6680d1 working dbfs.lookup
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    25