doc/fuse_db.sql
changeset 33 c71f3053c714
parent 32 90e14e0df133
child 35 4f10421681d2
equal deleted inserted replaced
32:90e14e0df133 33:c71f3053c714
    23 CREATE FUNCTION lo_size (oid) RETURNS int4 LANGUAGE SQL STABLE RETURNS NULL ON NULL INPUT AS 'select lo_lseek(lo_open($1, 262144), 0, 2);';
    23 CREATE FUNCTION lo_size (oid) RETURNS int4 LANGUAGE SQL STABLE RETURNS NULL ON NULL INPUT AS 'select lo_lseek(lo_open($1, 262144), 0, 2);';
    24 CREATE FUNCTION lo_pread (IN fd int4, IN len int4, IN "off" int4) RETURNS bytea LANGUAGE SQL STRICT AS 'select lo_lseek($1, $3, 0); select loread($1, $2);';
    24 CREATE FUNCTION lo_pread (IN fd int4, IN len int4, IN "off" int4) RETURNS bytea LANGUAGE SQL STRICT AS 'select lo_lseek($1, $3, 0); select loread($1, $2);';
    25 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);';
    25 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);';
    26 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;';
    26 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;';
    27 
    27 
    28 ALTER TABLE inodes ADD COLUMN symlink varchar(512);
    28 ALTER TABLE inodes ADD COLUMN link varchar(512);
       
    29 
       
    30 CREATE SEQUENCE ino_seq START 64;
       
    31 ALTER TABLE inodes ALTER COLUMN ino SET DEFAULT nextval('ino_seq'::regclass);
       
    32 
       
    33 ALTER TABLE file_tree ADD COLUMN ino int4;
       
    34 UPDATE file_tree SET ino = inode;
       
    35 ALTER TABLE file_tree DROP COLUMN inode;
       
    36 
       
    37 CREATE FUNCTION dbfs_size (type char, oid, link varchar) RETURNS int4 LANGUAGE SQL STABLE AS $$
       
    38     SELECT CASE $1 
       
    39         WHEN 'LNK' THEN char_length($3) 
       
    40         WHEN 'REG' THEN lo_size($2) 
       
    41         ELSE 0 
       
    42     END;
       
    43 $$;
       
    44