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

Commit2ae4a40

Browse files
committed
Add KNN patch
1 parentc43151f commit2ae4a40

File tree

64 files changed

+3083
-1181
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+3083
-1181
lines changed

‎contrib/btree_gist/Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ OBJS = btree_gist.o btree_utils_num.o btree_utils_var.o btree_int2.o \
99
btree_numeric.o$(WIN32RES)
1010

1111
EXTENSION = btree_gist
12-
DATA = btree_gist--1.2.sql btree_gist--1.1--1.2.sql btree_gist--1.0--1.1.sql\
12+
DATA = btree_gist--1.3.sql btree_gist--1.2--1.3.sql\
13+
btree_gist--1.1--1.2.sql btree_gist--1.0--1.1.sql\
1314
btree_gist--unpackaged--1.0.sql
1415
PGFILEDESC = "btree_gist - B-tree equivalent GiST operator classes"
1516

‎contrib/btree_gist/btree_cash.c

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -90,27 +90,6 @@ static const gbtree_ninfo tinfo =
9090
};
9191

9292

93-
PG_FUNCTION_INFO_V1(cash_dist);
94-
Datum
95-
cash_dist(PG_FUNCTION_ARGS)
96-
{
97-
Casha=PG_GETARG_CASH(0);
98-
Cashb=PG_GETARG_CASH(1);
99-
Cashr;
100-
Cashra;
101-
102-
r=a-b;
103-
ra=Abs(r);
104-
105-
/* Overflow check. */
106-
if (ra<0|| (!SAMESIGN(a,b)&& !SAMESIGN(r,a)))
107-
ereport(ERROR,
108-
(errcode(ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE),
109-
errmsg("money out of range")));
110-
111-
PG_RETURN_CASH(ra);
112-
}
113-
11493
/**************************************************
11594
* Cash ops
11695
**************************************************/

‎contrib/btree_gist/btree_date.c

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -108,19 +108,6 @@ static const gbtree_ninfo tinfo =
108108
};
109109

110110

111-
PG_FUNCTION_INFO_V1(date_dist);
112-
Datum
113-
date_dist(PG_FUNCTION_ARGS)
114-
{
115-
/* we assume the difference can't overflow */
116-
Datumdiff=DirectFunctionCall2(date_mi,
117-
PG_GETARG_DATUM(0),
118-
PG_GETARG_DATUM(1));
119-
120-
PG_RETURN_INT32(Abs(DatumGetInt32(diff)));
121-
}
122-
123-
124111
/**************************************************
125112
* date ops
126113
**************************************************/

‎contrib/btree_gist/btree_float4.c

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -89,21 +89,6 @@ static const gbtree_ninfo tinfo =
8989
};
9090

9191

92-
PG_FUNCTION_INFO_V1(float4_dist);
93-
Datum
94-
float4_dist(PG_FUNCTION_ARGS)
95-
{
96-
float4a=PG_GETARG_FLOAT4(0);
97-
float4b=PG_GETARG_FLOAT4(1);
98-
float4r;
99-
100-
r=a-b;
101-
CHECKFLOATVAL(r,isinf(a)||isinf(b), true);
102-
103-
PG_RETURN_FLOAT4(Abs(r));
104-
}
105-
106-
10792
/**************************************************
10893
* float4 ops
10994
**************************************************/

‎contrib/btree_gist/btree_float8.c

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -96,21 +96,6 @@ static const gbtree_ninfo tinfo =
9696
gbt_float8_dist
9797
};
9898

99-
100-
PG_FUNCTION_INFO_V1(float8_dist);
101-
Datum
102-
float8_dist(PG_FUNCTION_ARGS)
103-
{
104-
float8a=PG_GETARG_FLOAT8(0);
105-
float8b=PG_GETARG_FLOAT8(1);
106-
float8r;
107-
108-
r=a-b;
109-
CHECKFLOATVAL(r,isinf(a)||isinf(b), true);
110-
111-
PG_RETURN_FLOAT8(Abs(r));
112-
}
113-
11499
/**************************************************
115100
* float8 ops
116101
**************************************************/
Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
/* contrib/btree_gist/btree_gist--1.2--1.3.sql*/
2+
3+
-- complain if script is sourced in psql, rather than via ALTER EXTENSION
4+
\echo Use"ALTER EXTENSION btree_gist UPDATE TO '1.3'" to load this file. \quit
5+
6+
-- update references to distance operators in pg_amop and pg_depend
7+
8+
WITH
9+
btree_opsAS (
10+
SELECT
11+
amoplefttype, amoprighttype, amopopr
12+
FROM
13+
pg_amop
14+
JOIN pg_amONpg_am.oid= amopmethod
15+
JOIN pg_opfamilyONpg_opfamily.oid= amopfamily
16+
JOIN pg_namespaceONpg_namespace.oid= opfnamespace
17+
WHERE
18+
nspname='pg_catalog'
19+
AND opfnameIN (
20+
'integer_ops',
21+
'oid_ops',
22+
'money_ops',
23+
'float_ops',
24+
'datetime_ops',
25+
'time_ops',
26+
'interval_ops'
27+
)
28+
AND amname='btree'
29+
AND amoppurpose='o'
30+
AND amopstrategy=6
31+
),
32+
gist_opsAS (
33+
SELECT
34+
pg_amop.oidASoid, amoplefttype, amoprighttype, amopopr
35+
FROM
36+
pg_amop
37+
JOIN pg_amON amopmethod=pg_am.oid
38+
JOIN pg_opfamilyON amopfamily=pg_opfamily.oid
39+
JOIN pg_namespaceONpg_namespace.oid= opfnamespace
40+
WHERE
41+
nspname= current_schema()
42+
AND opfnameIN (
43+
'gist_oid_ops',
44+
'gist_int2_ops',
45+
'gist_int4_ops',
46+
'gist_int8_ops',
47+
'gist_float4_ops',
48+
'gist_float8_ops',
49+
'gist_timestamp_ops',
50+
'gist_timestamptz_ops',
51+
'gist_time_ops',
52+
'gist_date_ops',
53+
'gist_interval_ops',
54+
'gist_cash_ops'
55+
)
56+
AND amname='gist'
57+
AND amoppurpose='o'
58+
AND amopstrategy=15
59+
),
60+
depend_update_data(gist_amop, gist_amopopr, btree_amopopr)AS (
61+
SELECT
62+
gist_ops.oid,gist_ops.amopopr,btree_ops.amopopr
63+
FROM
64+
btree_opsJOIN gist_ops USING (amoplefttype, amoprighttype)
65+
),
66+
amop_update_dataAS (
67+
UPDATE
68+
pg_depend
69+
SET
70+
refobjid= btree_amopopr
71+
FROM
72+
depend_update_data
73+
WHERE
74+
objid= gist_amopAND refobjid= gist_amopopr
75+
RETURNING
76+
depend_update_data.*
77+
)
78+
UPDATE
79+
pg_amop
80+
SET
81+
amopopr= btree_amopopr
82+
FROM
83+
amop_update_data
84+
WHERE
85+
pg_amop.oid= gist_amop;
86+
87+
-- disable implicit pg_catalog search
88+
89+
DO
90+
$$
91+
BEGIN
92+
EXECUTE'SET LOCAL search_path TO'|| current_schema()||', pg_catalog';
93+
END
94+
$$;
95+
96+
-- drop distance operators
97+
98+
ALTER EXTENSION btree_gist DROP OPERATOR<-> (int2, int2);
99+
ALTER EXTENSION btree_gist DROP OPERATOR<-> (int4, int4);
100+
ALTER EXTENSION btree_gist DROP OPERATOR<-> (int8, int8);
101+
ALTER EXTENSION btree_gist DROP OPERATOR<-> (float4, float4);
102+
ALTER EXTENSION btree_gist DROP OPERATOR<-> (float8, float8);
103+
ALTER EXTENSION btree_gist DROP OPERATOR<-> (oid,oid);
104+
ALTER EXTENSION btree_gist DROP OPERATOR<-> (money,money);
105+
ALTER EXTENSION btree_gist DROP OPERATOR<-> (date,date);
106+
ALTER EXTENSION btree_gist DROP OPERATOR<-> (time,time);
107+
ALTER EXTENSION btree_gist DROP OPERATOR<-> (timestamp,timestamp);
108+
ALTER EXTENSION btree_gist DROP OPERATOR<-> (timestamptz,timestamptz);
109+
ALTER EXTENSION btree_gist DROP OPERATOR<-> (interval, interval);
110+
111+
DROPOPERATOR<-> (int2, int2);
112+
DROPOPERATOR<-> (int4, int4);
113+
DROPOPERATOR<-> (int8, int8);
114+
DROPOPERATOR<-> (float4, float4);
115+
DROPOPERATOR<-> (float8, float8);
116+
DROPOPERATOR<-> (oid,oid);
117+
DROPOPERATOR<-> (money,money);
118+
DROPOPERATOR<-> (date,date);
119+
DROPOPERATOR<-> (time,time);
120+
DROPOPERATOR<-> (timestamp,timestamp);
121+
DROPOPERATOR<-> (timestamptz,timestamptz);
122+
DROPOPERATOR<-> (interval, interval);
123+
124+
-- drop distance functions
125+
126+
ALTER EXTENSION btree_gist DROP FUNCTION int2_dist(int2, int2);
127+
ALTER EXTENSION btree_gist DROP FUNCTION int4_dist(int4, int4);
128+
ALTER EXTENSION btree_gist DROP FUNCTION int8_dist(int8, int8);
129+
ALTER EXTENSION btree_gist DROP FUNCTION float4_dist(float4, float4);
130+
ALTER EXTENSION btree_gist DROP FUNCTION float8_dist(float8, float8);
131+
ALTER EXTENSION btree_gist DROP FUNCTION oid_dist(oid,oid);
132+
ALTER EXTENSION btree_gist DROP FUNCTION cash_dist(money,money);
133+
ALTER EXTENSION btree_gist DROP FUNCTION date_dist(date,date);
134+
ALTER EXTENSION btree_gist DROP FUNCTION time_dist(time,time);
135+
ALTER EXTENSION btree_gist DROP FUNCTION ts_dist(timestamp,timestamp);
136+
ALTER EXTENSION btree_gist DROP FUNCTION tstz_dist(timestamptz,timestamptz);
137+
ALTER EXTENSION btree_gist DROP FUNCTION interval_dist(interval, interval);
138+
139+
DROPFUNCTION int2_dist(int2, int2);
140+
DROPFUNCTION int4_dist(int4, int4);
141+
DROPFUNCTION int8_dist(int8, int8);
142+
DROPFUNCTION float4_dist(float4, float4);
143+
DROPFUNCTION float8_dist(float8, float8);
144+
DROPFUNCTION oid_dist(oid,oid);
145+
DROPFUNCTION cash_dist(money,money);
146+
DROPFUNCTION date_dist(date,date);
147+
DROPFUNCTION time_dist(time,time);
148+
DROPFUNCTION ts_dist(timestamp,timestamp);
149+
DROPFUNCTION tstz_dist(timestamptz,timestamptz);
150+
DROPFUNCTION interval_dist(interval, interval);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp