doc/fuse_db.sql
changeset 33 c71f3053c714
parent 32 90e14e0df133
child 35 4f10421681d2
--- 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;
+$$;
+