doc/development/postgresql_vfs.sql

Mon, 26 May 2025 21:02:14 +0200

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Mon, 26 May 2025 21:02:14 +0200
changeset 580
315c625bf141
parent 366
47bc686fafe4
permissions
-rw-r--r--

extend postgresql vfs resource table

278
38bf7b42b58c implement pg_vfs_open
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
1 create table Resource (
38bf7b42b58c implement pg_vfs_open
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
2 resource_id serial primary key,
38bf7b42b58c implement pg_vfs_open
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
3 parent_id int references Resource(resource_id),
38bf7b42b58c implement pg_vfs_open
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
4 nodename text not null,
580
315c625bf141 extend postgresql vfs resource table
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 366
diff changeset
5 displayname text,
315c625bf141 extend postgresql vfs resource table
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 366
diff changeset
6 contenttype text,
281
e9dc53661df4 add pg vfs stat/fstat implementation
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 278
diff changeset
7 iscollection boolean not null default false,
e9dc53661df4 add pg vfs stat/fstat implementation
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 278
diff changeset
8
e9dc53661df4 add pg vfs stat/fstat implementation
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 278
diff changeset
9 lastmodified timestamp not null default current_date,
e9dc53661df4 add pg vfs stat/fstat implementation
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 278
diff changeset
10 creationdate timestamp not null default current_date,
e9dc53661df4 add pg vfs stat/fstat implementation
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 278
diff changeset
11 contentlength bigint not null default 0,
346
784b24381bed extend postgresql vfs to store an etag in the file
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 318
diff changeset
12
784b24381bed extend postgresql vfs to store an etag in the file
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 318
diff changeset
13 etag uuid,
283
25e5b771677d minimal working send_file with postgresql vfs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 281
diff changeset
14
25e5b771677d minimal working send_file with postgresql vfs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 281
diff changeset
15 resoid oid,
278
38bf7b42b58c implement pg_vfs_open
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
16
38bf7b42b58c implement pg_vfs_open
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
17 unique(parent_id, nodename)
38bf7b42b58c implement pg_vfs_open
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
18 );
281
e9dc53661df4 add pg vfs stat/fstat implementation
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 278
diff changeset
19
306
e03737cea6e2 add semi functional pg propfind handler
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 283
diff changeset
20 create table Property (
e03737cea6e2 add semi functional pg propfind handler
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 283
diff changeset
21 property_id serial primary key,
e03737cea6e2 add semi functional pg propfind handler
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 283
diff changeset
22 resource_id int references Resource(resource_id) on delete cascade,
317
09676b559091 store property prefix in the database
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 306
diff changeset
23 prefix text not null,
306
e03737cea6e2 add semi functional pg propfind handler
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 283
diff changeset
24 xmlns text not null,
e03737cea6e2 add semi functional pg propfind handler
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 283
diff changeset
25 pname text not null,
317
09676b559091 store property prefix in the database
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 306
diff changeset
26 lang text,
09676b559091 store property prefix in the database
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 306
diff changeset
27 nsdeflist text,
318
60870dbac94f add basic pg proppatch implementation
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 317
diff changeset
28 pvalue text,
60870dbac94f add basic pg proppatch implementation
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 317
diff changeset
29
60870dbac94f add basic pg proppatch implementation
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 317
diff changeset
30 unique(resource_id, xmlns, pname)
306
e03737cea6e2 add semi functional pg propfind handler
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 283
diff changeset
31 );
e03737cea6e2 add semi functional pg propfind handler
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 283
diff changeset
32
e03737cea6e2 add semi functional pg propfind handler
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 283
diff changeset
33 create type property_name as (
e03737cea6e2 add semi functional pg propfind handler
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 283
diff changeset
34 xmlns text,
e03737cea6e2 add semi functional pg propfind handler
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 283
diff changeset
35 name text
e03737cea6e2 add semi functional pg propfind handler
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 283
diff changeset
36 );
e03737cea6e2 add semi functional pg propfind handler
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 283
diff changeset
37

mercurial