forked from PostgREST/pg_csv
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpg_csv.sql
More file actions
42 lines (36 loc) · 928 Bytes
/
pg_csv.sql
File metadata and controls
42 lines (36 loc) · 928 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
create type csv_options as (
delimiter "char"
, bom bool
, header bool
);
create or replace function csv_options(
delimiter "char" default NULL,
bom bool default NULL,
header bool default NULL
) returns csv_options as $$
select row(delimiter, bom, header)::csv_options;
$$ language sql;
create function csv_agg_transfn(internal, anyelement)
returns internal
language c
as 'pg_csv';
create function csv_agg_transfn(internal, anyelement, csv_options)
returns internal
language c
as 'pg_csv';
create function csv_agg_finalfn(internal)
returns text
language c
as 'pg_csv';
create aggregate csv_agg(anyelement) (
sfunc = csv_agg_transfn,
stype = internal,
finalfunc = csv_agg_finalfn,
parallel = safe
);
create aggregate csv_agg(anyelement, csv_options) (
sfunc = csv_agg_transfn,
stype = internal,
finalfunc = csv_agg_finalfn,
parallel = safe
);