--- a/doc/fuse_db.sql Fri Oct 17 16:09:35 2008 +0300
+++ b/doc/fuse_db.sql Fri Oct 17 18:53:05 2008 +0300
@@ -25,4 +25,20 @@
CREATE FUNCTION lo_pwrite (IN fd int4, IN buf bytea, IN "off" int4) RETURNS int4 LANGUAGE SQL STRICT AS 'select lo_lseek($1, $3, 0); select lowrite($1, $2);';
CREATE FUNCTION lo_otruncate (IN oid, IN len int4) RETURNS oid LANGUAGE SQL STRICT AS 'select lo_truncate(lo_open($1, 393216), $2); select $1;';
-ALTER TABLE inodes ADD COLUMN symlink varchar(512);
+ALTER TABLE inodes ADD COLUMN link varchar(512);
+
+CREATE SEQUENCE ino_seq START 64;
+ALTER TABLE inodes ALTER COLUMN ino SET DEFAULT nextval('ino_seq'::regclass);
+
+ALTER TABLE file_tree ADD COLUMN ino int4;
+UPDATE file_tree SET ino = inode;
+ALTER TABLE file_tree DROP COLUMN inode;
+
+CREATE FUNCTION dbfs_size (type char, oid, link varchar) RETURNS int4 LANGUAGE SQL STABLE AS $$
+ SELECT CASE $1
+ WHEN 'LNK' THEN char_length($3)
+ WHEN 'REG' THEN lo_size($2)
+ ELSE 0
+ END;
+$$;
+