PolarDB-for-PostgreSQL

Форк
0
/
cube--1.0--1.1.sql 
59 строк · 1.6 Кб
1
/* contrib/cube/cube--1.0--1.1.sql */
2

3
-- complain if script is sourced in psql, rather than via ALTER EXTENSION
4
\echo Use "ALTER EXTENSION cube UPDATE TO '1.1'" to load this file. \quit
5

6
CREATE FUNCTION distance_chebyshev(cube, cube)
7
RETURNS float8
8
AS 'MODULE_PATHNAME'
9
LANGUAGE C IMMUTABLE STRICT;
10

11
CREATE FUNCTION distance_taxicab(cube, cube)
12
RETURNS float8
13
AS 'MODULE_PATHNAME'
14
LANGUAGE C IMMUTABLE STRICT;
15

16
CREATE FUNCTION cube_coord(cube, int4)
17
RETURNS float8
18
AS 'MODULE_PATHNAME'
19
LANGUAGE C IMMUTABLE STRICT;
20

21
CREATE FUNCTION cube_coord_llur(cube, int4)
22
RETURNS float8
23
AS 'MODULE_PATHNAME'
24
LANGUAGE C IMMUTABLE STRICT;
25

26
CREATE OPERATOR -> (
27
	LEFTARG = cube, RIGHTARG = int, PROCEDURE = cube_coord
28
);
29

30
CREATE OPERATOR ~> (
31
	LEFTARG = cube, RIGHTARG = int, PROCEDURE = cube_coord_llur
32
);
33

34
CREATE OPERATOR <#> (
35
	LEFTARG = cube, RIGHTARG = cube, PROCEDURE = distance_taxicab,
36
	COMMUTATOR = '<#>'
37
);
38

39
CREATE OPERATOR <-> (
40
	LEFTARG = cube, RIGHTARG = cube, PROCEDURE = cube_distance,
41
	COMMUTATOR = '<->'
42
);
43

44
CREATE OPERATOR <=> (
45
	LEFTARG = cube, RIGHTARG = cube, PROCEDURE = distance_chebyshev,
46
	COMMUTATOR = '<=>'
47
);
48

49
CREATE FUNCTION g_cube_distance (internal, cube, smallint, oid)
50
RETURNS internal
51
AS 'MODULE_PATHNAME'
52
LANGUAGE C IMMUTABLE STRICT;
53

54
ALTER OPERATOR FAMILY gist_cube_ops USING gist ADD
55
	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

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.