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 |