1
/*-------------------------------------------------------------------------
4
* Declarations for JSON data type support.
6
* Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group
7
* Portions Copyright (c) 1994, Regents of the University of California
9
* src/include/utils/json.h
11
*-------------------------------------------------------------------------
18
#include "lib/stringinfo.h"
20
/* functions in json.c */
21
extern Datum json_in(PG_FUNCTION_ARGS);
22
extern Datum json_out(PG_FUNCTION_ARGS);
23
extern Datum json_recv(PG_FUNCTION_ARGS);
24
extern Datum json_send(PG_FUNCTION_ARGS);
25
extern Datum array_to_json(PG_FUNCTION_ARGS);
26
extern Datum array_to_json_pretty(PG_FUNCTION_ARGS);
27
extern Datum row_to_json(PG_FUNCTION_ARGS);
28
extern Datum row_to_json_pretty(PG_FUNCTION_ARGS);
29
extern Datum to_json(PG_FUNCTION_ARGS);
31
extern Datum json_agg_transfn(PG_FUNCTION_ARGS);
32
extern Datum json_agg_finalfn(PG_FUNCTION_ARGS);
34
extern void escape_json(StringInfo buf, const char *str);
36
/* functions in jsonfuncs.c */
37
extern Datum json_object_field(PG_FUNCTION_ARGS);
38
extern Datum json_object_field_text(PG_FUNCTION_ARGS);
39
extern Datum json_array_element(PG_FUNCTION_ARGS);
40
extern Datum json_array_element_text(PG_FUNCTION_ARGS);
41
extern Datum json_extract_path(PG_FUNCTION_ARGS);
42
extern Datum json_extract_path_text(PG_FUNCTION_ARGS);
43
extern Datum json_object_keys(PG_FUNCTION_ARGS);
44
extern Datum json_array_length(PG_FUNCTION_ARGS);
45
extern Datum json_each(PG_FUNCTION_ARGS);
46
extern Datum json_each_text(PG_FUNCTION_ARGS);
47
extern Datum json_array_elements(PG_FUNCTION_ARGS);
48
extern Datum json_populate_record(PG_FUNCTION_ARGS);
49
extern Datum json_populate_recordset(PG_FUNCTION_ARGS);