codekingpro/portable-devtools
114k
1/* contrib/cube/cube--1.0--1.1.sql */2 3-- complain if script is sourced in psql, rather than via ALTER EXTENSION4\echo Use "ALTER EXTENSION cube UPDATE TO '1.1'" to load this file. \quit5 6CREATE FUNCTION distance_chebyshev(cube, cube)7RETURNS float88AS 'MODULE_PATHNAME'9LANGUAGE C IMMUTABLE STRICT;10 11CREATE FUNCTION distance_taxicab(cube, cube)12RETURNS float813AS 'MODULE_PATHNAME'14LANGUAGE C IMMUTABLE STRICT;15 16CREATE FUNCTION cube_coord(cube, int4)17RETURNS float818AS 'MODULE_PATHNAME'19LANGUAGE C IMMUTABLE STRICT;20 21CREATE FUNCTION cube_coord_llur(cube, int4)22RETURNS float823AS 'MODULE_PATHNAME'24LANGUAGE C IMMUTABLE STRICT;25 26CREATE OPERATOR -> (27 LEFTARG = cube, RIGHTARG = int, PROCEDURE = cube_coord28);29 30CREATE OPERATOR ~> (31 LEFTARG = cube, RIGHTARG = int, PROCEDURE = cube_coord_llur32);33 34CREATE OPERATOR <#> (35 LEFTARG = cube, RIGHTARG = cube, PROCEDURE = distance_taxicab,36 COMMUTATOR = '<#>'37);38 39CREATE OPERATOR <-> (40 LEFTARG = cube, RIGHTARG = cube, PROCEDURE = cube_distance,41 COMMUTATOR = '<->'42);43 44CREATE OPERATOR <=> (45 LEFTARG = cube, RIGHTARG = cube, PROCEDURE = distance_chebyshev,46 COMMUTATOR = '<=>'47);48 49CREATE FUNCTION g_cube_distance (internal, cube, smallint, oid)50RETURNS internal51AS 'MODULE_PATHNAME'52LANGUAGE C IMMUTABLE STRICT;53 54ALTER OPERATOR FAMILY gist_cube_ops USING gist ADD55 OPERATOR 15 ~> (cube, int) FOR ORDER BY float_ops,56 OPERATOR 16 <#> (cube, cube) FOR ORDER BY float_ops,57 OPERATOR 17 <-> (cube, cube) FOR ORDER BY float_ops,58 OPERATOR 18 <=> (cube, cube) FOR ORDER BY float_ops,59 FUNCTION 8 (cube, cube) g_cube_distance (internal, cube, smallint, oid);60 