Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit1362992

Browse files
author
Vladlen Popolitov
committed
RUM support added for int8 only
1 parentb7117a3 commit1362992

File tree

8 files changed

+187
-465
lines changed

8 files changed

+187
-465
lines changed

‎anyarray--1.2.sql

Lines changed: 9 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -982,31 +982,16 @@ RETURNS void
982982
AS'MODULE_PATHNAME'
983983
LANGUAGE C IMMUTABLE STRICT;
984984

985-
986-
CREATEFUNCTIONrumanyarray_similar(anyarray,anyarray)
987-
RETURNS bool
988-
AS'MODULE_PATHNAME'
989-
LANGUAGE C STRICT STABLE;
990-
991-
CREATE OPERATOR<%%> (
992-
PROCEDURE= rumanyarray_similar,
993-
LEFTARG= anyarray,
994-
RIGHTARG= anyarray,
995-
COMMUTATOR='<%%>',
996-
RESTRICT= contsel,
997-
JOIN= contjoinsel
998-
);
999-
1000985
CREATEFUNCTIONrumanyarray_distance(anyarray,anyarray)
1001986
RETURNS float8
1002987
AS'MODULE_PATHNAME'
1003988
LANGUAGE C STRICT STABLE;
1004989

1005-
CREATE OPERATOR<==> (
990+
CREATE OPERATOR<=> (
1006991
PROCEDURE= rumanyarray_distance,
1007992
LEFTARG= anyarray,
1008993
RIGHTARG= anyarray,
1009-
COMMUTATOR='<==>'
994+
COMMUTATOR='<=>'
1010995
);
1011996

1012997

@@ -1043,8 +1028,8 @@ AS
10431028
OPERATOR2@> (anyarray, anyarray),
10441029
OPERATOR3<@ (anyarray, anyarray),
10451030
OPERATOR4= (anyarray, anyarray),
1046-
OPERATOR5<%%> (anyarray, anyarray),
1047-
OPERATOR20<==> (anyarray, anyarray) FORORDER BYpg_catalog.float_ops,
1031+
OPERATOR5% (anyarray, anyarray),
1032+
OPERATOR20<=> (anyarray, anyarray) FORORDER BYpg_catalog.float_ops,
10481033
--dispatch function 1 for concrete type
10491034
FUNCTION2rumextract_anyarray(anyarray,internal,internal,internal,internal),
10501035
FUNCTION3rumextract_anyarray_query(anyarray,internal,smallint,internal,internal,internal,internal),
@@ -1066,60 +1051,22 @@ AS
10661051
FUNCTION4ginarrayconsistent(internal,smallint,anyarray,integer,internal,internal,internal,internal),
10671052
STORAGE anyelement;
10681053

1069-
CREATEFUNCTIONrumextract_anyarray_with_position(anyarray,internal,internal,internal,internal)
1070-
RETURNS internal
1071-
AS'MODULE_PATHNAME'
1072-
LANGUAGE C IMMUTABLE STRICT;
1073-
1074-
CREATEFUNCTIONrumextract_anyarray_query_with_position(anyarray,internal,smallint,internal,internal,internal,internal)
1075-
RETURNS internal
1076-
AS'MODULE_PATHNAME'
1077-
LANGUAGE C IMMUTABLE STRICT;
1078-
1079-
CREATEFUNCTIONrumanyarray_consistent_with_position(internal,smallint, anyarray,integer, internal, internal, internal, internal)
1080-
RETURNS bool
1081-
AS'MODULE_PATHNAME'
1082-
LANGUAGE C IMMUTABLE STRICT;
1083-
1084-
/*CREATE FUNCTION rumanyarray_ordering_with_position(internal,smallint,anyarray,int,internal,internal,internal,internal,internal)
1085-
RETURNS float8
1086-
AS 'MODULE_PATHNAME'
1087-
LANGUAGE C IMMUTABLE STRICT;
1088-
*/
1089-
1090-
CREATEOPERATOR CLASSaa_rum_int8_ops
1091-
FOR TYPE anyarray USING rum
1092-
AS
1093-
OPERATOR1&& (anyarray, anyarray),
1094-
OPERATOR2@> (anyarray, anyarray),
1095-
OPERATOR3<@ (anyarray, anyarray),
1096-
OPERATOR4= (anyarray, anyarray),
1097-
OPERATOR5<%%> (anyarray, anyarray),
1098-
OPERATOR20<==> (anyarray, anyarray) FORORDER BYpg_catalog.float_ops,
1099-
--dispatch function 1 for concrete type
1100-
FUNCTION2rumextract_anyarray_with_position(anyarray,internal,internal,internal,internal),
1101-
FUNCTION3rumextract_anyarray_query_with_position(anyarray,internal,smallint,internal,internal,internal,internal),
1102-
FUNCTION4rumanyarray_consistent_with_position(internal,smallint,anyarray,integer,internal,internal,internal,internal),
1103-
FUNCTION6rumanyarray_config(internal),
1104-
FUNCTION8rumanyarray_ordering(internal,smallint,anyarray,int,internal,internal,internal,internal,internal),
1105-
STORAGE anyelement;
1106-
11071054
CREATEOPERATOR CLASS_int8_aa_ops
11081055
FOR TYPE _int8 USING rum
11091056
AS
11101057
OPERATOR1&& (anyarray, anyarray),
11111058
OPERATOR2@> (anyarray, anyarray),
11121059
OPERATOR3<@ (anyarray, anyarray),
11131060
OPERATOR4= (anyarray, anyarray),
1114-
OPERATOR5<%%> (anyarray, anyarray),
1115-
OPERATOR20<==> (anyarray, anyarray) FORORDER BYpg_catalog.float_ops,
1061+
OPERATOR5% (anyarray, anyarray),
1062+
OPERATOR20<=> (anyarray, anyarray) FORORDER BYpg_catalog.float_ops,
11161063
--dispatch function 1 for concrete type
11171064
FUNCTION1 btint8cmp(int8,int8),
11181065
FUNCTION2rumextract_anyarray(anyarray,internal,internal,internal,internal),
11191066
FUNCTION3rumextract_anyarray_query(anyarray,internal,smallint,internal,internal,internal,internal),
11201067
FUNCTION4rumanyarray_consistent(internal,smallint,anyarray,integer,internal,internal,internal,internal),
11211068
FUNCTION6rumanyarray_config(internal),
1122-
--FUNCTION7rumanyarray_preconsistent(internal,smallint,anyarray,integer,internal,internal,internal,internal),
1069+
FUNCTION7rumanyarray_preconsistent(internal,smallint,anyarray,integer,internal,internal,internal,internal),
11231070
FUNCTION8rumanyarray_ordering(internal,smallint,anyarray,int,internal,internal,internal,internal,internal),
11241071
STORAGE int8;
11251072

@@ -1130,8 +1077,8 @@ AS
11301077
OPERATOR2@> (anyarray, anyarray),
11311078
OPERATOR3<@ (anyarray, anyarray),
11321079
OPERATOR4= (anyarray, anyarray),
1133-
OPERATOR5<%%> (anyarray, anyarray),
1134-
OPERATOR20<==> (anyarray, anyarray) FORORDER BYpg_catalog.float_ops,
1080+
OPERATOR5% (anyarray, anyarray),
1081+
OPERATOR20<=> (anyarray, anyarray) FORORDER BYpg_catalog.float_ops,
11351082
--dispatch function 1 for concrete type
11361083
FUNCTION1 btint8cmp(int8,int8),
11371084
FUNCTION2rumextract_anyarray(anyarray,internal,internal,internal,internal),

‎anyarray.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ extern void sortSimpleArray(SimpleArray *s, int32 direction);
9595
externvoiduniqSimpleArray(SimpleArray*s,boolonlyDuplicate);
9696
externvoidhashSimpleArray(SimpleArray*s);
9797
externdoublegetSimilarity(SimpleArray*sa,SimpleArray*sb);
98-
98+
externdoublegetSimilarityValue(int32nelemsa,int32nelemsb,int32intersection);
99+
externintnumOfIntersect(SimpleArray*a,SimpleArray*b);
99100
#endif
100101

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp