Revision 11667
Added by Aaron Marcuse-Kubitza about 11 years ago
util.sql | ||
---|---|---|
3 | 3 |
-- |
4 | 4 |
|
5 | 5 |
SET statement_timeout = 0; |
6 |
SET lock_timeout = 0; |
|
6 | 7 |
SET client_encoding = 'UTF8'; |
7 | 8 |
SET standard_conforming_strings = on; |
8 | 9 |
SET check_function_bodies = false; |
... | ... | |
265 | 266 |
|
266 | 267 |
|
267 | 268 |
-- |
269 |
-- Name: _map(hstore, anyelement); Type: FUNCTION; Schema: util; Owner: - |
|
270 |
-- |
|
271 |
|
|
272 |
CREATE FUNCTION _map(map hstore, value anyelement) RETURNS anyelement |
|
273 |
LANGUAGE plpgsql IMMUTABLE STRICT |
|
274 |
AS $$ |
|
275 |
DECLARE |
|
276 |
result value%TYPE := util._map(map, value::text)::unknown; |
|
277 |
BEGIN |
|
278 |
RETURN result; |
|
279 |
END; |
|
280 |
$$; |
|
281 |
|
|
282 |
|
|
283 |
-- |
|
268 | 284 |
-- Name: _map(hstore, text); Type: FUNCTION; Schema: util; Owner: - |
269 | 285 |
-- |
270 | 286 |
|
... | ... | |
290 | 306 |
|
291 | 307 |
|
292 | 308 |
-- |
293 |
-- Name: _map(hstore, anyelement); Type: FUNCTION; Schema: util; Owner: - |
|
294 |
-- |
|
295 |
|
|
296 |
CREATE FUNCTION _map(map hstore, value anyelement) RETURNS anyelement |
|
297 |
LANGUAGE plpgsql IMMUTABLE STRICT |
|
298 |
AS $$ |
|
299 |
DECLARE |
|
300 |
result value%TYPE := util._map(map, value::text)::unknown; |
|
301 |
BEGIN |
|
302 |
RETURN result; |
|
303 |
END; |
|
304 |
$$; |
|
305 |
|
|
306 |
|
|
307 |
-- |
|
308 | 309 |
-- Name: _max(anyelement, anyelement, anyelement, anyelement, anyelement, anyelement, anyelement, anyelement, anyelement, anyelement); Type: FUNCTION; Schema: util; Owner: - |
309 | 310 |
-- |
310 | 311 |
|
... | ... | |
438 | 439 |
|
439 | 440 |
|
440 | 441 |
-- |
442 |
-- Name: _nullIf(anyelement, text, text); Type: FUNCTION; Schema: util; Owner: - |
|
443 |
-- |
|
444 |
|
|
445 |
CREATE FUNCTION "_nullIf"(value anyelement, "null" text, type text) RETURNS anyelement |
|
446 |
LANGUAGE sql IMMUTABLE |
|
447 |
AS $_$ |
|
448 |
SELECT util."_nullIf"($1, $2, $3::util.datatype) |
|
449 |
$_$; |
|
450 |
|
|
451 |
|
|
452 |
-- |
|
441 | 453 |
-- Name: _nullIf(anyelement, text, datatype); Type: FUNCTION; Schema: util; Owner: - |
442 | 454 |
-- |
443 | 455 |
|
... | ... | |
464 | 476 |
|
465 | 477 |
|
466 | 478 |
-- |
467 |
-- Name: _nullIf(anyelement, text, text); Type: FUNCTION; Schema: util; Owner: - |
|
468 |
-- |
|
469 |
|
|
470 |
CREATE FUNCTION "_nullIf"(value anyelement, "null" text, type text) RETURNS anyelement |
|
471 |
LANGUAGE sql IMMUTABLE |
|
472 |
AS $_$ |
|
473 |
SELECT util."_nullIf"($1, $2, $3::util.datatype) |
|
474 |
$_$; |
|
475 |
|
|
476 |
|
|
477 |
-- |
|
478 | 479 |
-- Name: _or(boolean, boolean, boolean, boolean, boolean); Type: FUNCTION; Schema: util; Owner: - |
479 | 480 |
-- |
480 | 481 |
|
... | ... | |
765 | 766 |
|
766 | 767 |
|
767 | 768 |
-- |
768 |
-- Name: col_names(regtype); Type: FUNCTION; Schema: util; Owner: - |
|
769 |
-- |
|
770 |
|
|
771 |
CREATE FUNCTION col_names(type regtype) RETURNS SETOF text |
|
772 |
LANGUAGE plpgsql STABLE STRICT |
|
773 |
AS $_$ |
|
774 |
BEGIN |
|
775 |
RETURN QUERY EXECUTE $$SELECT skeys(hstore(NULL::$$||type||$$))$$; |
|
776 |
END; |
|
777 |
$_$; |
|
778 |
|
|
779 |
|
|
780 |
-- |
|
781 | 769 |
-- Name: col_names(regclass); Type: FUNCTION; Schema: util; Owner: - |
782 | 770 |
-- |
783 | 771 |
|
... | ... | |
792 | 780 |
|
793 | 781 |
|
794 | 782 |
-- |
783 |
-- Name: col_names(regtype); Type: FUNCTION; Schema: util; Owner: - |
|
784 |
-- |
|
785 |
|
|
786 |
CREATE FUNCTION col_names(type regtype) RETURNS SETOF text |
|
787 |
LANGUAGE plpgsql STABLE STRICT |
|
788 |
AS $_$ |
|
789 |
BEGIN |
|
790 |
RETURN QUERY EXECUTE $$SELECT skeys(hstore(NULL::$$||type||$$))$$; |
|
791 |
END; |
|
792 |
$_$; |
|
793 |
|
|
794 |
|
|
795 |
-- |
|
795 | 796 |
-- Name: col_type(col_ref); Type: FUNCTION; Schema: util; Owner: - |
796 | 797 |
-- |
797 | 798 |
|
Also available in: Unified diff
schemas/*.sql: updated for PostgreSQL 9.3. this reorders some functions, adds empty comment headers for omitted SEQUENCE SET commands, and (best of all) finally splits view columns onto multiple lines, so that changes in the columns are actually legible (and produce their own svn diff!)