doc/evfuse_db.txt
author Tero Marttila <terom@fixme.fi>
Wed, 22 Oct 2008 18:14:24 +0300
changeset 38 1fd4da071575
parent 24 82cfdb6680d1
permissions -rw-r--r--
rework/hack parent to be a FOREIGN KEY (add a dir_ino col), implement dbfs_link

Just a simple pure-data filesystem stored in a SQL database. Implementation using PostgreSQL.
No weird dynamic magic.


file_tree:
    offset              serial4                     ephemeral counter used to tell one file entry from another
    ino                 int4 -> inodes.ino          the file inode
    ino_dir             int4 -> inodes.ino          the file's inode if it's a dir, NULL otherwise
    name                varchar(256)                the filename
    parent              int4 -> file_tree.ino_dir   file entry's parent dir
    
    unique(ino_dir)
    unique(name, parent)

inodes:
    ino                 serial4                 inode number
    type                char(3)
            REG                         normal file
            DIR                         directory
            LNK                         symlink
    mode                int2                    file access modes 
    data                oid                     type=REG -> file data, else NULL
    link_path           varchar(512)            type=LNK -> symlink target, else NULL