]> git.sur5r.net Git - bacula/bacula/blob - gui/bweb/script/bweb-postgresql.sql
ebl fix label_barcodes (use drive name instead of autochanger name)
[bacula/bacula] / gui / bweb / script / bweb-postgresql.sql
1 CREATE PROCEDURAL LANGUAGE plpgsql;
2 BEGIN;
3
4 CREATE FUNCTION SEC_TO_TIME(timestamp with time zone)
5 RETURNS timestamp with time zone AS $$
6     select date_trunc('second', $1);
7 $$ LANGUAGE SQL;
8
9 CREATE FUNCTION SEC_TO_TIME(bigint)
10 RETURNS interval AS $$
11     select date_trunc('second', $1 * interval '1 second');
12 $$ LANGUAGE SQL;
13
14 CREATE FUNCTION UNIX_TIMESTAMP(timestamp with time zone)
15 RETURNS double precision AS $$
16     select date_part('epoch', $1);
17 $$ LANGUAGE SQL;
18
19 CREATE FUNCTION SEC_TO_INT(interval)
20 RETURNS double precision AS $$
21     select extract(epoch from $1);
22 $$ LANGUAGE SQL;
23
24 CREATE OR REPLACE FUNCTION base64_decode_lstat(int4, varchar) RETURNS int8 AS $$
25 DECLARE
26 val int8;
27 b64 varchar(64);
28 size varchar(64);
29 i int;
30 BEGIN
31 size := split_part($2, ' ', $1);
32 b64 := 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
33 val := 0;
34 FOR i IN 1..length(size) LOOP
35 val := val + (strpos(b64, substr(size, i, 1))-1) * (64^(length(size)-i));
36 END LOOP;
37 RETURN val;
38 END;
39 $$ language 'plpgsql';
40
41 COMMIT;