00001 /*------------------------------------------------------------------------- 00002 * 00003 * json.h 00004 * Declarations for JSON data type support. 00005 * 00006 * Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group 00007 * Portions Copyright (c) 1994, Regents of the University of California 00008 * 00009 * src/include/utils/json.h 00010 * 00011 *------------------------------------------------------------------------- 00012 */ 00013 00014 #ifndef JSON_H 00015 #define JSON_H 00016 00017 #include "fmgr.h" 00018 #include "lib/stringinfo.h" 00019 00020 /* functions in json.c */ 00021 extern Datum json_in(PG_FUNCTION_ARGS); 00022 extern Datum json_out(PG_FUNCTION_ARGS); 00023 extern Datum json_recv(PG_FUNCTION_ARGS); 00024 extern Datum json_send(PG_FUNCTION_ARGS); 00025 extern Datum array_to_json(PG_FUNCTION_ARGS); 00026 extern Datum array_to_json_pretty(PG_FUNCTION_ARGS); 00027 extern Datum row_to_json(PG_FUNCTION_ARGS); 00028 extern Datum row_to_json_pretty(PG_FUNCTION_ARGS); 00029 extern Datum to_json(PG_FUNCTION_ARGS); 00030 00031 extern Datum json_agg_transfn(PG_FUNCTION_ARGS); 00032 extern Datum json_agg_finalfn(PG_FUNCTION_ARGS); 00033 00034 extern void escape_json(StringInfo buf, const char *str); 00035 00036 /* functions in jsonfuncs.c */ 00037 extern Datum json_object_field(PG_FUNCTION_ARGS); 00038 extern Datum json_object_field_text(PG_FUNCTION_ARGS); 00039 extern Datum json_array_element(PG_FUNCTION_ARGS); 00040 extern Datum json_array_element_text(PG_FUNCTION_ARGS); 00041 extern Datum json_extract_path(PG_FUNCTION_ARGS); 00042 extern Datum json_extract_path_text(PG_FUNCTION_ARGS); 00043 extern Datum json_object_keys(PG_FUNCTION_ARGS); 00044 extern Datum json_array_length(PG_FUNCTION_ARGS); 00045 extern Datum json_each(PG_FUNCTION_ARGS); 00046 extern Datum json_each_text(PG_FUNCTION_ARGS); 00047 extern Datum json_array_elements(PG_FUNCTION_ARGS); 00048 extern Datum json_populate_record(PG_FUNCTION_ARGS); 00049 extern Datum json_populate_recordset(PG_FUNCTION_ARGS); 00050 00051 #endif /* JSON_H */