1 /* contrib/hstore/hstore--1.2--2.0.sql */
3 -- complain if script is sourced in psql, rather than via CREATE EXTENSION
4 \echo Use "ALTER EXTENSION hstore UPDATE TO '1.2'" to load this file. \quit
6 CREATE FUNCTION fetchval_numeric(hstore,text)
8 AS 'MODULE_PATHNAME','hstore_fetchval_numeric'
9 LANGUAGE C STRICT IMMUTABLE;
14 PROCEDURE = fetchval_numeric
17 CREATE FUNCTION fetchval_boolean(hstore,text)
19 AS 'MODULE_PATHNAME','hstore_fetchval_boolean'
20 LANGUAGE C STRICT IMMUTABLE;
25 PROCEDURE = fetchval_boolean
28 CREATE FUNCTION fetchval(hstore,int)
30 AS 'MODULE_PATHNAME','hstore_fetchval_n'
31 LANGUAGE C STRICT IMMUTABLE;
39 CREATE FUNCTION fetchval_numeric(hstore,int)
41 AS 'MODULE_PATHNAME','hstore_fetchval_n_numeric'
42 LANGUAGE C STRICT IMMUTABLE;
47 PROCEDURE = fetchval_numeric
50 CREATE FUNCTION fetchval_boolean(hstore,int)
52 AS 'MODULE_PATHNAME','hstore_fetchval_n_boolean'
53 LANGUAGE C STRICT IMMUTABLE;
58 PROCEDURE = fetchval_boolean
61 CREATE FUNCTION fetchval(hstore,text[])
63 AS 'MODULE_PATHNAME','hstore_fetchval_path'
64 LANGUAGE C STRICT IMMUTABLE;
72 CREATE FUNCTION fetchval_numeric(hstore,text[])
74 AS 'MODULE_PATHNAME','hstore_fetchval_path_numeric'
75 LANGUAGE C STRICT IMMUTABLE;
80 PROCEDURE = fetchval_numeric
83 CREATE FUNCTION fetchval_boolean(hstore,text[])
85 AS 'MODULE_PATHNAME','hstore_fetchval_path_boolean'
86 LANGUAGE C STRICT IMMUTABLE;
91 PROCEDURE = fetchval_boolean
94 CREATE FUNCTION fetchval_hstore(hstore,text)
96 AS 'MODULE_PATHNAME','hstore_fetchval_hstore'
97 LANGUAGE C STRICT IMMUTABLE;
102 PROCEDURE = fetchval_hstore
105 CREATE FUNCTION fetchval_hstore(hstore,int)
107 AS 'MODULE_PATHNAME','hstore_fetchval_n_hstore'
108 LANGUAGE C STRICT IMMUTABLE;
113 PROCEDURE = fetchval_hstore
116 CREATE FUNCTION fetchval_hstore(hstore,text[])
118 AS 'MODULE_PATHNAME','hstore_fetchval_path_hstore'
119 LANGUAGE C STRICT IMMUTABLE;
121 CREATE OPERATOR #%> (
124 PROCEDURE = fetchval_hstore
127 CREATE FUNCTION json_to_hstore(json)
129 AS 'MODULE_PATHNAME','json_to_hstore'
130 LANGUAGE C STRICT IMMUTABLE;
132 CREATE CAST (json AS hstore)
133 WITH FUNCTION json_to_hstore(json);
135 CREATE FUNCTION isexists(hstore,int)
137 AS 'MODULE_PATHNAME','hstore_exists_idx'
138 LANGUAGE C STRICT IMMUTABLE;
140 CREATE FUNCTION exist(hstore,int)
142 AS 'MODULE_PATHNAME','hstore_exists_idx'
143 LANGUAGE C STRICT IMMUTABLE;
153 CREATE FUNCTION isexists(hstore,text[])
155 AS 'MODULE_PATHNAME','hstore_exists_path'
156 LANGUAGE C STRICT IMMUTABLE;
158 CREATE FUNCTION exist(hstore,text[])
160 AS 'MODULE_PATHNAME','hstore_exists_path'
161 LANGUAGE C STRICT IMMUTABLE;
171 CREATE FUNCTION delete_path(hstore,text[])
173 AS 'MODULE_PATHNAME','hstore_delete_path'
174 LANGUAGE C STRICT IMMUTABLE;
179 PROCEDURE = delete_path
182 CREATE FUNCTION delete(hstore,int)
184 AS 'MODULE_PATHNAME','hstore_delete_idx'
185 LANGUAGE C STRICT IMMUTABLE;
193 CREATE FUNCTION replace(hstore,text[],hstore)
195 AS 'MODULE_PATHNAME','hstore_replace'
196 LANGUAGE C STRICT IMMUTABLE;
198 CREATE FUNCTION svals(hstore, text[])
200 AS 'MODULE_PATHNAME','hstore_svals_path'
201 LANGUAGE C STRICT IMMUTABLE;
203 CREATE FUNCTION hvals(hstore)
205 AS 'MODULE_PATHNAME','hstore_hvals'
206 LANGUAGE C STRICT IMMUTABLE;
208 CREATE FUNCTION hvals(hstore, text[])
210 AS 'MODULE_PATHNAME','hstore_hvals_path'
211 LANGUAGE C STRICT IMMUTABLE;
213 CREATE FUNCTION concat_path(hstore,text[],hstore)
215 AS 'MODULE_PATHNAME','hstore_deep_concat'
216 LANGUAGE C STRICT IMMUTABLE;
218 CREATE FUNCTION each_hstore(IN hs hstore,
222 AS 'MODULE_PATHNAME','hstore_each_hstore'
223 LANGUAGE C STRICT IMMUTABLE;
225 CREATE FUNCTION hstore_typeof(hstore)
227 AS 'MODULE_PATHNAME','hstore_typeof'
228 LANGUAGE C STRICT IMMUTABLE;
230 CREATE FUNCTION hstore(text,bool)
232 AS 'MODULE_PATHNAME','hstore_from_bool'
233 LANGUAGE C IMMUTABLE; -- not STRICT; needs to allow (key,NULL)
235 CREATE FUNCTION hstore(text,numeric)
237 AS 'MODULE_PATHNAME','hstore_from_numeric'
238 LANGUAGE C IMMUTABLE; -- not STRICT; needs to allow (key,NULL)
240 CREATE FUNCTION hstore(text)
242 AS 'MODULE_PATHNAME','hstore_scalar_from_text'
243 LANGUAGE C IMMUTABLE; -- not STRICT; needs to allow (key,NULL)
245 CREATE FUNCTION hstore(bool)
247 AS 'MODULE_PATHNAME','hstore_scalar_from_bool'
248 LANGUAGE C IMMUTABLE; -- not STRICT; needs to allow (key,NULL)
250 CREATE FUNCTION hstore(numeric)
252 AS 'MODULE_PATHNAME','hstore_scalar_from_numeric'
253 LANGUAGE C IMMUTABLE; -- not STRICT; needs to allow (key,NULL)
256 -- GIN support: hash based opclass
258 FUNCTION gin_extract_hstore_hash(internal, internal)
261 LANGUAGE C IMMUTABLE STRICT;
263 CREATE FUNCTION gin_extract_hstore_hash_query(internal, internal, int2, internal, internal)
266 LANGUAGE C IMMUTABLE STRICT;
268 CREATE FUNCTION gin_consistent_hstore_hash(internal, int2, internal, int4, internal, internal)
271 LANGUAGE C IMMUTABLE STRICT;
273 CREATE OPERATOR CLASS gin_hstore_hash_ops
274 FOR TYPE hstore USING gin
277 FUNCTION 1 btint4cmp(int4,int4),
278 FUNCTION 2 gin_extract_hstore_hash(internal, internal),
279 FUNCTION 3 gin_extract_hstore_hash_query(internal, internal, int2, internal, internal),
280 FUNCTION 4 gin_consistent_hstore_hash(internal, int2, internal, int4, internal, internal),
283 CREATE FUNCTION array_to_hstore(anyarray)
285 AS 'MODULE_PATHNAME','array_to_hstore'
286 LANGUAGE C STRICT IMMUTABLE;
288 CREATE FUNCTION hstore_pretty_print()
291 LANGUAGE C IMMUTABLE STRICT;
293 CREATE FUNCTION hstore_array_curly_braces()
296 LANGUAGE C IMMUTABLE STRICT;
298 CREATE FUNCTION hstore_json()
301 LANGUAGE C IMMUTABLE STRICT;
303 CREATE FUNCTION hstore_root_hash_decorated()
306 LANGUAGE C IMMUTABLE STRICT;
308 CREATE FUNCTION hstore_loose()
311 LANGUAGE C IMMUTABLE STRICT;
313 CREATE FUNCTION hstore_print(hstore,
314 pretty_print bool DEFAULT false,
315 array_curly_braces bool DEFAULT false,
316 root_hash_decorated bool DEFAULT false,
317 json bool DEFAULT false,
318 loose bool DEFAULT false)
320 AS 'MODULE_PATHNAME', 'hstore_print'
321 LANGUAGE C IMMUTABLE STRICT;