author | Tero Marttila <terom@fixme.fi> |
Sat, 13 Dec 2008 19:55:50 +0200 | |
branch | new-evsql |
changeset 53 | 0d6e07f4c9a1 |
parent 38 | 1fd4da071575 |
permissions | -rw-r--r-- |
24 | 1 |
|
2 |
Just a simple pure-data filesystem stored in a SQL database. Implementation using PostgreSQL. |
|
3 |
No weird dynamic magic. |
|
4 |
||
5 |
||
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 | 15 |
|
16 |
inodes: |
|
17 |
ino serial4 inode number |
|
18 |
type char(3) |
|
19 |
REG normal file |
|
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 | 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 | 25 |