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

Commitd98c08c

Browse files
committed
Update btree_gist extension for parallel query
All functions provided by this extension are PARALLEL SAFE.Discussion:https://postgr.es/m/AM5PR0901MB1587E47B1ACF23C6089DFCA3FD9B0%40AM5PR0901MB1587.eurprd09.prod.outlook.comAuthor: Steven Winfield
1 parentc3fe108 commitd98c08c

File tree

3 files changed

+194
-2
lines changed

3 files changed

+194
-2
lines changed

‎contrib/btree_gist/Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ OBJS = \
3131
EXTENSION = btree_gist
3232
DATA = btree_gist--1.0--1.1.sql\
3333
btree_gist--1.1--1.2.sql btree_gist--1.2.sql btree_gist--1.2--1.3.sql\
34-
btree_gist--1.3--1.4.sql btree_gist--1.4--1.5.sql
34+
btree_gist--1.3--1.4.sql btree_gist--1.4--1.5.sql\
35+
btree_gist--1.5--1.6.sql
3536
PGFILEDESC = "btree_gist - B-tree equivalent GiST operator classes"
3637

3738
REGRESS = init int2 int4 int8 float4 float8 cash oid timestamp timestamptz\
Lines changed: 191 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,191 @@
1+
/* contrib/btree_gist/btree_gist--1.5--1.6.sql*/
2+
3+
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
4+
\echo Use"ALTER EXTENSION btree_gist UPDATE TO '1.6'" to load this file. \quit
5+
6+
-- This upgrade script marks all btree_gist functions as parallel safe.
7+
8+
-- Input/output functions for GiST key types (gbtreekey*)
9+
ALTERFUNCTION gbtreekey4_in(cstring) PARALLEL SAFE;
10+
ALTERFUNCTION gbtreekey4_out(gbtreekey4) PARALLEL SAFE;
11+
ALTERFUNCTION gbtreekey8_in(cstring) PARALLEL SAFE;
12+
ALTERFUNCTION gbtreekey8_out(gbtreekey8) PARALLEL SAFE;
13+
ALTERFUNCTION gbtreekey16_in(cstring) PARALLEL SAFE;
14+
ALTERFUNCTION gbtreekey16_out(gbtreekey16) PARALLEL SAFE;
15+
ALTERFUNCTION gbtreekey32_in(cstring) PARALLEL SAFE;
16+
ALTERFUNCTION gbtreekey32_out(gbtreekey32) PARALLEL SAFE;
17+
ALTERFUNCTION gbtreekey_var_in(cstring) PARALLEL SAFE;
18+
ALTERFUNCTION gbtreekey_var_out(gbtreekey_var) PARALLEL SAFE;
19+
20+
-- Functions, which implement distance operators (<->)
21+
ALTERFUNCTION cash_dist(money,money) PARALLEL SAFE;
22+
ALTERFUNCTION date_dist(date,date) PARALLEL SAFE;
23+
ALTERFUNCTION float4_dist(real,real) PARALLEL SAFE;
24+
ALTERFUNCTION float8_dist(double precision,double precision) PARALLEL SAFE;
25+
ALTERFUNCTION int2_dist(smallint,smallint) PARALLEL SAFE;
26+
ALTERFUNCTION int4_dist(integer,integer) PARALLEL SAFE;
27+
ALTERFUNCTION int8_dist(bigint,bigint) PARALLEL SAFE;
28+
ALTERFUNCTION interval_dist(interval, interval) PARALLEL SAFE;
29+
ALTERFUNCTION oid_dist(oid,oid) PARALLEL SAFE;
30+
ALTERFUNCTION time_dist(time without time zone,time without time zone) PARALLEL SAFE;
31+
ALTERFUNCTION ts_dist(timestamp without time zone,timestamp without time zone) PARALLEL SAFE;
32+
ALTERFUNCTION tstz_dist(timestamp with time zone,timestamp with time zone) PARALLEL SAFE;
33+
34+
-- GiST support methods
35+
ALTERFUNCTION gbt_oid_consistent(internal,oid,smallint,oid, internal) PARALLEL SAFE;
36+
ALTERFUNCTION gbt_oid_distance(internal,oid,smallint,oid, internal) PARALLEL SAFE;
37+
ALTERFUNCTION gbt_oid_fetch(internal) PARALLEL SAFE;
38+
ALTERFUNCTION gbt_oid_compress(internal) PARALLEL SAFE;
39+
ALTERFUNCTION gbt_decompress(internal) PARALLEL SAFE;
40+
ALTERFUNCTION gbt_var_decompress(internal) PARALLEL SAFE;
41+
ALTERFUNCTION gbt_var_fetch(internal) PARALLEL SAFE;
42+
ALTERFUNCTION gbt_oid_penalty(internal, internal, internal) PARALLEL SAFE;
43+
ALTERFUNCTION gbt_oid_picksplit(internal, internal) PARALLEL SAFE;
44+
ALTERFUNCTION gbt_oid_union(internal, internal) PARALLEL SAFE;
45+
ALTERFUNCTION gbt_oid_same(gbtreekey8, gbtreekey8, internal) PARALLEL SAFE;
46+
ALTERFUNCTION gbt_int2_consistent(internal,smallint,smallint,oid, internal) PARALLEL SAFE;
47+
ALTERFUNCTION gbt_int2_distance(internal,smallint,smallint,oid, internal) PARALLEL SAFE;
48+
ALTERFUNCTION gbt_int2_compress(internal) PARALLEL SAFE;
49+
ALTERFUNCTION gbt_int2_fetch(internal) PARALLEL SAFE;
50+
ALTERFUNCTION gbt_int2_penalty(internal, internal, internal) PARALLEL SAFE;
51+
ALTERFUNCTION gbt_int2_picksplit(internal, internal) PARALLEL SAFE;
52+
ALTERFUNCTION gbt_int2_union(internal, internal) PARALLEL SAFE;
53+
ALTERFUNCTION gbt_int2_same(gbtreekey4, gbtreekey4, internal) PARALLEL SAFE;
54+
ALTERFUNCTION gbt_int4_consistent(internal,integer,smallint,oid, internal) PARALLEL SAFE;
55+
ALTERFUNCTION gbt_int4_distance(internal,integer,smallint,oid, internal) PARALLEL SAFE;
56+
ALTERFUNCTION gbt_int4_compress(internal) PARALLEL SAFE;
57+
ALTERFUNCTION gbt_int4_fetch(internal) PARALLEL SAFE;
58+
ALTERFUNCTION gbt_int4_penalty(internal, internal, internal) PARALLEL SAFE;
59+
ALTERFUNCTION gbt_int4_picksplit(internal, internal) PARALLEL SAFE;
60+
ALTERFUNCTION gbt_int4_union(internal, internal) PARALLEL SAFE;
61+
ALTERFUNCTION gbt_int4_same(gbtreekey8, gbtreekey8, internal) PARALLEL SAFE;
62+
ALTERFUNCTION gbt_int8_consistent(internal,bigint,smallint,oid, internal) PARALLEL SAFE;
63+
ALTERFUNCTION gbt_int8_distance(internal,bigint,smallint,oid, internal) PARALLEL SAFE;
64+
ALTERFUNCTION gbt_int8_compress(internal) PARALLEL SAFE;
65+
ALTERFUNCTION gbt_int8_fetch(internal) PARALLEL SAFE;
66+
ALTERFUNCTION gbt_int8_penalty(internal, internal, internal) PARALLEL SAFE;
67+
ALTERFUNCTION gbt_int8_picksplit(internal, internal) PARALLEL SAFE;
68+
ALTERFUNCTION gbt_int8_union(internal, internal) PARALLEL SAFE;
69+
ALTERFUNCTION gbt_int8_same(gbtreekey16, gbtreekey16, internal) PARALLEL SAFE;
70+
ALTERFUNCTION gbt_float4_consistent(internal,real,smallint,oid, internal) PARALLEL SAFE;
71+
ALTERFUNCTION gbt_float4_distance(internal,real,smallint,oid, internal) PARALLEL SAFE;
72+
ALTERFUNCTION gbt_float4_compress(internal) PARALLEL SAFE;
73+
ALTERFUNCTION gbt_float4_fetch(internal) PARALLEL SAFE;
74+
ALTERFUNCTION gbt_float4_penalty(internal, internal, internal) PARALLEL SAFE;
75+
ALTERFUNCTION gbt_float4_picksplit(internal, internal) PARALLEL SAFE;
76+
ALTERFUNCTION gbt_float4_union(internal, internal) PARALLEL SAFE;
77+
ALTERFUNCTION gbt_float4_same(gbtreekey8, gbtreekey8, internal) PARALLEL SAFE;
78+
ALTERFUNCTION gbt_float8_consistent(internal,double precision,smallint,oid, internal) PARALLEL SAFE;
79+
ALTERFUNCTION gbt_float8_distance(internal,double precision,smallint,oid, internal) PARALLEL SAFE;
80+
ALTERFUNCTION gbt_float8_compress(internal) PARALLEL SAFE;
81+
ALTERFUNCTION gbt_float8_fetch(internal) PARALLEL SAFE;
82+
ALTERFUNCTION gbt_float8_penalty(internal, internal, internal) PARALLEL SAFE;
83+
ALTERFUNCTION gbt_float8_picksplit(internal, internal) PARALLEL SAFE;
84+
ALTERFUNCTION gbt_float8_union(internal, internal) PARALLEL SAFE;
85+
ALTERFUNCTION gbt_float8_same(gbtreekey16, gbtreekey16, internal) PARALLEL SAFE;
86+
ALTERFUNCTION gbt_ts_consistent(internal,timestamp without time zone,smallint,oid, internal) PARALLEL SAFE;
87+
ALTERFUNCTION gbt_ts_distance(internal,timestamp without time zone,smallint,oid, internal) PARALLEL SAFE;
88+
ALTERFUNCTION gbt_tstz_consistent(internal,timestamp with time zone,smallint,oid, internal) PARALLEL SAFE;
89+
ALTERFUNCTION gbt_tstz_distance(internal,timestamp with time zone,smallint,oid, internal) PARALLEL SAFE;
90+
ALTERFUNCTION gbt_ts_compress(internal) PARALLEL SAFE;
91+
ALTERFUNCTION gbt_tstz_compress(internal) PARALLEL SAFE;
92+
ALTERFUNCTION gbt_ts_fetch(internal) PARALLEL SAFE;
93+
ALTERFUNCTION gbt_ts_penalty(internal, internal, internal) PARALLEL SAFE;
94+
ALTERFUNCTION gbt_ts_picksplit(internal, internal) PARALLEL SAFE;
95+
ALTERFUNCTION gbt_ts_union(internal, internal) PARALLEL SAFE;
96+
ALTERFUNCTION gbt_ts_same(gbtreekey16, gbtreekey16, internal) PARALLEL SAFE;
97+
ALTERFUNCTION gbt_time_consistent(internal,time without time zone,smallint,oid, internal) PARALLEL SAFE;
98+
ALTERFUNCTION gbt_time_distance(internal,time without time zone,smallint,oid, internal) PARALLEL SAFE;
99+
ALTERFUNCTION gbt_timetz_consistent(internal,time with time zone,smallint,oid, internal) PARALLEL SAFE;
100+
ALTERFUNCTION gbt_time_compress(internal) PARALLEL SAFE;
101+
ALTERFUNCTION gbt_timetz_compress(internal) PARALLEL SAFE;
102+
ALTERFUNCTION gbt_time_fetch(internal) PARALLEL SAFE;
103+
ALTERFUNCTION gbt_time_penalty(internal, internal, internal) PARALLEL SAFE;
104+
ALTERFUNCTION gbt_time_picksplit(internal, internal) PARALLEL SAFE;
105+
ALTERFUNCTION gbt_time_union(internal, internal) PARALLEL SAFE;
106+
ALTERFUNCTION gbt_time_same(gbtreekey16, gbtreekey16, internal) PARALLEL SAFE;
107+
ALTERFUNCTION gbt_date_consistent(internal,date,smallint,oid, internal) PARALLEL SAFE;
108+
ALTERFUNCTION gbt_date_distance(internal,date,smallint,oid, internal) PARALLEL SAFE;
109+
ALTERFUNCTION gbt_date_compress(internal) PARALLEL SAFE;
110+
ALTERFUNCTION gbt_date_fetch(internal) PARALLEL SAFE;
111+
ALTERFUNCTION gbt_date_penalty(internal, internal, internal) PARALLEL SAFE;
112+
ALTERFUNCTION gbt_date_picksplit(internal, internal) PARALLEL SAFE;
113+
ALTERFUNCTION gbt_date_union(internal, internal) PARALLEL SAFE;
114+
ALTERFUNCTION gbt_date_same(gbtreekey8, gbtreekey8, internal) PARALLEL SAFE;
115+
ALTERFUNCTION gbt_intv_consistent(internal, interval,smallint,oid, internal) PARALLEL SAFE;
116+
ALTERFUNCTION gbt_intv_distance(internal, interval,smallint,oid, internal) PARALLEL SAFE;
117+
ALTERFUNCTION gbt_intv_compress(internal) PARALLEL SAFE;
118+
ALTERFUNCTION gbt_intv_decompress(internal) PARALLEL SAFE;
119+
ALTERFUNCTION gbt_intv_fetch(internal) PARALLEL SAFE;
120+
ALTERFUNCTION gbt_intv_penalty(internal, internal, internal) PARALLEL SAFE;
121+
ALTERFUNCTION gbt_intv_picksplit(internal, internal) PARALLEL SAFE;
122+
ALTERFUNCTION gbt_intv_union(internal, internal) PARALLEL SAFE;
123+
ALTERFUNCTION gbt_intv_same(gbtreekey32, gbtreekey32, internal) PARALLEL SAFE;
124+
ALTERFUNCTION gbt_cash_consistent(internal,money,smallint,oid, internal) PARALLEL SAFE;
125+
ALTERFUNCTION gbt_cash_distance(internal,money,smallint,oid, internal) PARALLEL SAFE;
126+
ALTERFUNCTION gbt_cash_compress(internal) PARALLEL SAFE;
127+
ALTERFUNCTION gbt_cash_fetch(internal) PARALLEL SAFE;
128+
ALTERFUNCTION gbt_cash_penalty(internal, internal, internal) PARALLEL SAFE;
129+
ALTERFUNCTION gbt_cash_picksplit(internal, internal) PARALLEL SAFE;
130+
ALTERFUNCTION gbt_cash_union(internal, internal) PARALLEL SAFE;
131+
ALTERFUNCTION gbt_cash_same(gbtreekey16, gbtreekey16, internal) PARALLEL SAFE;
132+
ALTERFUNCTION gbt_macad_consistent(internal,macaddr,smallint,oid, internal) PARALLEL SAFE;
133+
ALTERFUNCTION gbt_macad_compress(internal) PARALLEL SAFE;
134+
ALTERFUNCTION gbt_macad_fetch(internal) PARALLEL SAFE;
135+
ALTERFUNCTION gbt_macad_penalty(internal, internal, internal) PARALLEL SAFE;
136+
ALTERFUNCTION gbt_macad_picksplit(internal, internal) PARALLEL SAFE;
137+
ALTERFUNCTION gbt_macad_union(internal, internal) PARALLEL SAFE;
138+
ALTERFUNCTION gbt_macad_same(gbtreekey16, gbtreekey16, internal) PARALLEL SAFE;
139+
ALTERFUNCTION gbt_text_consistent(internal,text,smallint,oid, internal) PARALLEL SAFE;
140+
ALTERFUNCTION gbt_bpchar_consistent(internal, character,smallint,oid, internal) PARALLEL SAFE;
141+
ALTERFUNCTION gbt_text_compress(internal) PARALLEL SAFE;
142+
ALTERFUNCTION gbt_bpchar_compress(internal) PARALLEL SAFE;
143+
ALTERFUNCTION gbt_text_penalty(internal, internal, internal) PARALLEL SAFE;
144+
ALTERFUNCTION gbt_text_picksplit(internal, internal) PARALLEL SAFE;
145+
ALTERFUNCTION gbt_text_union(internal, internal) PARALLEL SAFE;
146+
ALTERFUNCTION gbt_text_same(gbtreekey_var, gbtreekey_var, internal) PARALLEL SAFE;
147+
ALTERFUNCTION gbt_bytea_consistent(internal,bytea,smallint,oid, internal) PARALLEL SAFE;
148+
ALTERFUNCTION gbt_bytea_compress(internal) PARALLEL SAFE;
149+
ALTERFUNCTION gbt_bytea_penalty(internal, internal, internal) PARALLEL SAFE;
150+
ALTERFUNCTION gbt_bytea_picksplit(internal, internal) PARALLEL SAFE;
151+
ALTERFUNCTION gbt_bytea_union(internal, internal) PARALLEL SAFE;
152+
ALTERFUNCTION gbt_bytea_same(gbtreekey_var, gbtreekey_var, internal) PARALLEL SAFE;
153+
ALTERFUNCTION gbt_numeric_consistent(internal,numeric,smallint,oid, internal) PARALLEL SAFE;
154+
ALTERFUNCTION gbt_numeric_compress(internal) PARALLEL SAFE;
155+
ALTERFUNCTION gbt_numeric_penalty(internal, internal, internal) PARALLEL SAFE;
156+
ALTERFUNCTION gbt_numeric_picksplit(internal, internal) PARALLEL SAFE;
157+
ALTERFUNCTION gbt_numeric_union(internal, internal) PARALLEL SAFE;
158+
ALTERFUNCTION gbt_numeric_same(gbtreekey_var, gbtreekey_var, internal) PARALLEL SAFE;
159+
ALTERFUNCTION gbt_bit_consistent(internal,bit,smallint,oid, internal) PARALLEL SAFE;
160+
ALTERFUNCTION gbt_bit_compress(internal) PARALLEL SAFE;
161+
ALTERFUNCTION gbt_bit_penalty(internal, internal, internal) PARALLEL SAFE;
162+
ALTERFUNCTION gbt_bit_picksplit(internal, internal) PARALLEL SAFE;
163+
ALTERFUNCTION gbt_bit_union(internal, internal) PARALLEL SAFE;
164+
ALTERFUNCTION gbt_bit_same(gbtreekey_var, gbtreekey_var, internal) PARALLEL SAFE;
165+
ALTERFUNCTION gbt_inet_consistent(internal,inet,smallint,oid, internal) PARALLEL SAFE;
166+
ALTERFUNCTION gbt_inet_compress(internal) PARALLEL SAFE;
167+
ALTERFUNCTION gbt_inet_penalty(internal, internal, internal) PARALLEL SAFE;
168+
ALTERFUNCTION gbt_inet_picksplit(internal, internal) PARALLEL SAFE;
169+
ALTERFUNCTION gbt_inet_union(internal, internal) PARALLEL SAFE;
170+
ALTERFUNCTION gbt_inet_same(gbtreekey16, gbtreekey16, internal) PARALLEL SAFE;
171+
ALTERFUNCTION gbt_uuid_consistent(internal, uuid,smallint,oid, internal) PARALLEL SAFE;
172+
ALTERFUNCTION gbt_uuid_fetch(internal) PARALLEL SAFE;
173+
ALTERFUNCTION gbt_uuid_compress(internal) PARALLEL SAFE;
174+
ALTERFUNCTION gbt_uuid_penalty(internal, internal, internal) PARALLEL SAFE;
175+
ALTERFUNCTION gbt_uuid_picksplit(internal, internal) PARALLEL SAFE;
176+
ALTERFUNCTION gbt_uuid_union(internal, internal) PARALLEL SAFE;
177+
ALTERFUNCTION gbt_uuid_same(gbtreekey32, gbtreekey32, internal) PARALLEL SAFE;
178+
ALTERFUNCTION gbt_macad8_consistent(internal, macaddr8,smallint,oid, internal) PARALLEL SAFE;
179+
ALTERFUNCTION gbt_macad8_compress(internal) PARALLEL SAFE;
180+
ALTERFUNCTION gbt_macad8_fetch(internal) PARALLEL SAFE;
181+
ALTERFUNCTION gbt_macad8_penalty(internal, internal, internal) PARALLEL SAFE;
182+
ALTERFUNCTION gbt_macad8_picksplit(internal, internal) PARALLEL SAFE;
183+
ALTERFUNCTION gbt_macad8_union(internal, internal) PARALLEL SAFE;
184+
ALTERFUNCTION gbt_macad8_same(gbtreekey16, gbtreekey16, internal) PARALLEL SAFE;
185+
ALTERFUNCTION gbt_enum_consistent(internal, anyenum,smallint,oid, internal) PARALLEL SAFE;
186+
ALTERFUNCTION gbt_enum_compress(internal) PARALLEL SAFE;
187+
ALTERFUNCTION gbt_enum_fetch(internal) PARALLEL SAFE;
188+
ALTERFUNCTION gbt_enum_penalty(internal, internal, internal) PARALLEL SAFE;
189+
ALTERFUNCTION gbt_enum_picksplit(internal, internal) PARALLEL SAFE;
190+
ALTERFUNCTION gbt_enum_union(internal, internal) PARALLEL SAFE;
191+
ALTERFUNCTION gbt_enum_same(gbtreekey8, gbtreekey8, internal) PARALLEL SAFE;

‎contrib/btree_gist/btree_gist.control

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# btree_gist extension
22
comment = 'support for indexing common datatypes in GiST'
3-
default_version = '1.5'
3+
default_version = '1.6'
44
module_pathname = '$libdir/btree_gist'
55
relocatable = true
66
trusted = true

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp