-
-
Notifications
You must be signed in to change notification settings - Fork 37
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
13 changed files
with
1,175 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,15 +2,15 @@ | |
"name": "h3", | ||
"abstract": "PostgreSQL bindings for H3", | ||
"description": "PostgreSQL bindings for H3, a hierarchical hexagonal geospatial indexing system.", | ||
"version": "3.6.5", | ||
"version": "unreleased", | ||
"maintainer": "Bytes & Brains <[email protected]>", | ||
"license": "apache_2_0", | ||
"provides": { | ||
"h3": { | ||
"abstract": "PostgreSQL bindings for H3", | ||
"file": "sql/h3--3.6.5.sql", | ||
"file": "sql/h3--unreleased.sql", | ||
"docfile": "README.md", | ||
"version": "3.6.5" | ||
"version": "unreleased" | ||
} | ||
}, | ||
"resources": { | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
comment = 'H3 bindings for PostgreSQL' | ||
default_version = '3.6.5' | ||
default_version = 'unreleased' | ||
relocatable = true | ||
requires = 'postgis' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
/* | ||
* Copyright 2019 Bytes & Brains | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
|
||
-- ---------- ---------- ---------- ---------- ---------- ---------- ---------- | ||
-- GiST Operator Class (opclass_gist.c) | ||
-- ---------- ---------- ---------- ---------- ---------- ---------- ---------- | ||
|
||
CREATE OPERATOR <-> ( | ||
LEFTARG = h3index, | ||
RIGHTARG = h3index, | ||
PROCEDURE = h3_distance, | ||
COMMUTATOR = <-> | ||
); | ||
|
||
-- GiST operator class | ||
CREATE OR REPLACE FUNCTION h3index_gist_consistent(internal, h3index, smallint, oid, internal) RETURNS boolean | ||
AS 'h3' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; | ||
CREATE OR REPLACE FUNCTION h3index_gist_union(internal, internal) RETURNS h3index | ||
AS 'h3' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; | ||
CREATE OR REPLACE FUNCTION h3index_gist_compress(internal) RETURNS internal | ||
AS 'h3' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; | ||
CREATE OR REPLACE FUNCTION h3index_gist_decompress(internal) RETURNS internal | ||
AS 'h3' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; | ||
CREATE OR REPLACE FUNCTION h3index_gist_penalty(internal, internal, internal) RETURNS internal | ||
AS 'h3' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; | ||
CREATE OR REPLACE FUNCTION h3index_gist_picksplit(internal, internal) RETURNS internal | ||
AS 'h3' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; | ||
CREATE OR REPLACE FUNCTION h3index_gist_same(h3index, h3index, internal) RETURNS internal | ||
AS 'h3' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; | ||
CREATE OR REPLACE FUNCTION h3index_gist_distance(internal, h3index, smallint, oid, internal) RETURNS integer | ||
AS 'h3' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; | ||
|
||
CREATE OPERATOR CLASS gist_h3index_ops DEFAULT FOR TYPE h3index USING gist AS | ||
OPERATOR 3 && , | ||
OPERATOR 6 = , | ||
OPERATOR 7 @> , | ||
OPERATOR 8 <@ , | ||
OPERATOR 15 <-> (h3index, h3index) FOR ORDER BY integer_ops, | ||
|
||
FUNCTION 1 h3index_gist_consistent(internal, h3index, smallint, oid, internal), | ||
FUNCTION 2 h3index_gist_union(internal, internal), | ||
FUNCTION 3 h3index_gist_compress(internal), | ||
FUNCTION 4 h3index_gist_decompress(internal), | ||
FUNCTION 5 h3index_gist_penalty(internal, internal, internal), | ||
FUNCTION 6 h3index_gist_picksplit(internal, internal), | ||
FUNCTION 7 h3index_gist_same(h3index, h3index, internal), | ||
FUNCTION 8 (h3index, h3index) h3index_gist_distance(internal, h3index, smallint, oid, internal); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
/* | ||
* Copyright 2019 Bytes & Brains | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
|
||
-- ---------- ---------- ---------- ---------- ---------- ---------- ---------- | ||
-- SP-GiST Operator Class (opclass_spgist.c) | ||
-- ---------- ---------- ---------- ---------- ---------- ---------- ---------- | ||
|
||
-- SP-GiST operator class | ||
CREATE OR REPLACE FUNCTION h3index_spgist_config(internal, internal) RETURNS void | ||
AS 'h3' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; | ||
CREATE OR REPLACE FUNCTION h3index_spgist_choose(internal, internal) RETURNS void | ||
AS 'h3' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; | ||
CREATE OR REPLACE FUNCTION h3index_spgist_picksplit(internal, internal) RETURNS void | ||
AS 'h3' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; | ||
CREATE OR REPLACE FUNCTION h3index_spgist_inner_consistent(internal, internal) RETURNS void | ||
AS 'h3' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; | ||
CREATE OR REPLACE FUNCTION h3index_spgist_leaf_consistent(internal, internal) RETURNS bool | ||
AS 'h3' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; | ||
|
||
CREATE OPERATOR CLASS spgist_h3index_ops DEFAULT FOR TYPE h3index USING spgist AS | ||
OPERATOR 6 = , | ||
OPERATOR 7 @> , | ||
OPERATOR 8 <@ , | ||
|
||
FUNCTION 1 h3index_spgist_config(internal, internal), | ||
FUNCTION 2 h3index_spgist_choose(internal, internal), | ||
FUNCTION 3 h3index_spgist_picksplit(internal, internal), | ||
FUNCTION 4 h3index_spgist_inner_consistent(internal, internal), | ||
FUNCTION 5 h3index_spgist_leaf_consistent(internal, internal); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
/* | ||
* Copyright 2019 Bytes & Brains | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
|
||
-- complain if script is sourced in psql, rather than via CREATE EXTENSION | ||
\echo Use "ALTER EXTENSION h3 UPDATE TO 'unreleased'" to load this file. \quit | ||
|
||
-- PostgreSQL operators | ||
DROP FUNCTION IF EXISTS h3_to_string(h3index); | ||
DROP FUNCTION IF EXISTS h3_string_to_h3(cstring); | ||
|
||
CREATE OPERATOR <-> ( | ||
LEFTARG = h3index, | ||
RIGHTARG = h3index, | ||
PROCEDURE = h3_distance, | ||
COMMUTATOR = <-> | ||
); | ||
|
||
-- GiST operator class | ||
CREATE OR REPLACE FUNCTION h3index_gist_consistent(internal, h3index, smallint, oid, internal) RETURNS boolean | ||
AS 'h3' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; | ||
CREATE OR REPLACE FUNCTION h3index_gist_union(internal, internal) RETURNS h3index | ||
AS 'h3' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; | ||
CREATE OR REPLACE FUNCTION h3index_gist_compress(internal) RETURNS internal | ||
AS 'h3' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; | ||
CREATE OR REPLACE FUNCTION h3index_gist_decompress(internal) RETURNS internal | ||
AS 'h3' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; | ||
CREATE OR REPLACE FUNCTION h3index_gist_penalty(internal, internal, internal) RETURNS internal | ||
AS 'h3' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; | ||
CREATE OR REPLACE FUNCTION h3index_gist_picksplit(internal, internal) RETURNS internal | ||
AS 'h3' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; | ||
CREATE OR REPLACE FUNCTION h3index_gist_same(h3index, h3index, internal) RETURNS internal | ||
AS 'h3' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; | ||
CREATE OR REPLACE FUNCTION h3index_gist_distance(internal, h3index, smallint, oid, internal) RETURNS integer | ||
AS 'h3' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; | ||
|
||
CREATE OPERATOR CLASS gist_h3index_ops DEFAULT FOR TYPE h3index USING gist AS | ||
OPERATOR 3 && , | ||
OPERATOR 6 = , | ||
OPERATOR 7 @> , | ||
OPERATOR 8 <@ , | ||
OPERATOR 15 <-> (h3index, h3index) FOR ORDER BY integer_ops, | ||
|
||
FUNCTION 1 h3index_gist_consistent(internal, h3index, smallint, oid, internal), | ||
FUNCTION 2 h3index_gist_union(internal, internal), | ||
FUNCTION 3 h3index_gist_compress(internal), | ||
FUNCTION 4 h3index_gist_decompress(internal), | ||
FUNCTION 5 h3index_gist_penalty(internal, internal, internal), | ||
FUNCTION 6 h3index_gist_picksplit(internal, internal), | ||
FUNCTION 7 h3index_gist_same(h3index, h3index, internal), | ||
FUNCTION 8 h3index_gist_distance(internal, h3index, smallint, oid, internal); | ||
|
||
-- SP-GiST operator class | ||
CREATE OR REPLACE FUNCTION h3index_spgist_config(internal, internal) RETURNS void | ||
AS 'h3' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; | ||
CREATE OR REPLACE FUNCTION h3index_spgist_choose(internal, internal) RETURNS void | ||
AS 'h3' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; | ||
CREATE OR REPLACE FUNCTION h3index_spgist_picksplit(internal, internal) RETURNS void | ||
AS 'h3' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; | ||
CREATE OR REPLACE FUNCTION h3index_spgist_inner_consistent(internal, internal) RETURNS void | ||
AS 'h3' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; | ||
CREATE OR REPLACE FUNCTION h3index_spgist_leaf_consistent(internal, internal) RETURNS bool | ||
AS 'h3' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; | ||
|
||
CREATE OPERATOR CLASS spgist_h3index_ops DEFAULT FOR TYPE h3index USING spgist AS | ||
OPERATOR 6 = , | ||
OPERATOR 7 @> , | ||
OPERATOR 8 <@ , | ||
|
||
FUNCTION 1 h3index_spgist_config(internal, internal), | ||
FUNCTION 2 h3index_spgist_choose(internal, internal), | ||
FUNCTION 3 h3index_spgist_picksplit(internal, internal), | ||
FUNCTION 4 h3index_spgist_inner_consistent(internal, internal), | ||
FUNCTION 5 h3index_spgist_leaf_consistent(internal, internal); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.