From ffab82fbda884bc73485d877dd7d528c4cb15e82 Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Tue, 7 Jun 2016 11:25:53 -0400 Subject: Update fuzzystrmatch extension for parallel query. All functions provided by this extension are PARALLEL SAFE. Andreas Karlsson --- contrib/fuzzystrmatch/Makefile | 3 +- contrib/fuzzystrmatch/fuzzystrmatch--1.0--1.1.sql | 15 ++++++++ contrib/fuzzystrmatch/fuzzystrmatch--1.0.sql | 44 ----------------------- contrib/fuzzystrmatch/fuzzystrmatch--1.1.sql | 44 +++++++++++++++++++++++ contrib/fuzzystrmatch/fuzzystrmatch.control | 2 +- 5 files changed, 62 insertions(+), 46 deletions(-) create mode 100644 contrib/fuzzystrmatch/fuzzystrmatch--1.0--1.1.sql delete mode 100644 contrib/fuzzystrmatch/fuzzystrmatch--1.0.sql create mode 100644 contrib/fuzzystrmatch/fuzzystrmatch--1.1.sql diff --git a/contrib/fuzzystrmatch/Makefile b/contrib/fuzzystrmatch/Makefile index 0327d9510a5..51e215a919e 100644 --- a/contrib/fuzzystrmatch/Makefile +++ b/contrib/fuzzystrmatch/Makefile @@ -4,7 +4,8 @@ MODULE_big = fuzzystrmatch OBJS = fuzzystrmatch.o dmetaphone.o $(WIN32RES) EXTENSION = fuzzystrmatch -DATA = fuzzystrmatch--1.0.sql fuzzystrmatch--unpackaged--1.0.sql +DATA = fuzzystrmatch--1.1.sql fuzzystrmatch--1.0--1.1.sql \ + fuzzystrmatch--unpackaged--1.0.sql PGFILEDESC = "fuzzystrmatch - similarities and distance between strings" ifdef USE_PGXS diff --git a/contrib/fuzzystrmatch/fuzzystrmatch--1.0--1.1.sql b/contrib/fuzzystrmatch/fuzzystrmatch--1.0--1.1.sql new file mode 100644 index 00000000000..f2b15550dd4 --- /dev/null +++ b/contrib/fuzzystrmatch/fuzzystrmatch--1.0--1.1.sql @@ -0,0 +1,15 @@ +/* contrib/fuzzystrmatch/fuzzystrmatch--1.0--1.1.sql */ + +-- complain if script is sourced in psql, rather than via ALTER EXTENSION +\echo Use "ALTER EXTENSION fuzzystrmatch UPDATE TO '1.1'" to load this file. \quit + +ALTER FUNCTION levenshtein(text, text) PARALLEL SAFE; +ALTER FUNCTION levenshtein(text, text, int, int, int) PARALLEL SAFE; +ALTER FUNCTION levenshtein_less_equal(text, text, int) PARALLEL SAFE; +ALTER FUNCTION levenshtein_less_equal(text, text, int, int, int, int) PARALLEL SAFE; +ALTER FUNCTION metaphone(text, int) PARALLEL SAFE; +ALTER FUNCTION soundex(text) PARALLEL SAFE; +ALTER FUNCTION text_soundex(text) PARALLEL SAFE; +ALTER FUNCTION difference(text, text) PARALLEL SAFE; +ALTER FUNCTION dmetaphone(text) PARALLEL SAFE; +ALTER FUNCTION dmetaphone_alt(text) PARALLEL SAFE; diff --git a/contrib/fuzzystrmatch/fuzzystrmatch--1.0.sql b/contrib/fuzzystrmatch/fuzzystrmatch--1.0.sql deleted file mode 100644 index 1cf9b6188cc..00000000000 --- a/contrib/fuzzystrmatch/fuzzystrmatch--1.0.sql +++ /dev/null @@ -1,44 +0,0 @@ -/* contrib/fuzzystrmatch/fuzzystrmatch--1.0.sql */ - --- complain if script is sourced in psql, rather than via CREATE EXTENSION -\echo Use "CREATE EXTENSION fuzzystrmatch" to load this file. \quit - -CREATE FUNCTION levenshtein (text,text) RETURNS int -AS 'MODULE_PATHNAME','levenshtein' -LANGUAGE C IMMUTABLE STRICT; - -CREATE FUNCTION levenshtein (text,text,int,int,int) RETURNS int -AS 'MODULE_PATHNAME','levenshtein_with_costs' -LANGUAGE C IMMUTABLE STRICT; - -CREATE FUNCTION levenshtein_less_equal (text,text,int) RETURNS int -AS 'MODULE_PATHNAME','levenshtein_less_equal' -LANGUAGE C IMMUTABLE STRICT; - -CREATE FUNCTION levenshtein_less_equal (text,text,int,int,int,int) RETURNS int -AS 'MODULE_PATHNAME','levenshtein_less_equal_with_costs' -LANGUAGE C IMMUTABLE STRICT; - -CREATE FUNCTION metaphone (text,int) RETURNS text -AS 'MODULE_PATHNAME','metaphone' -LANGUAGE C IMMUTABLE STRICT; - -CREATE FUNCTION soundex(text) RETURNS text -AS 'MODULE_PATHNAME', 'soundex' -LANGUAGE C IMMUTABLE STRICT; - -CREATE FUNCTION text_soundex(text) RETURNS text -AS 'MODULE_PATHNAME', 'soundex' -LANGUAGE C IMMUTABLE STRICT; - -CREATE FUNCTION difference(text,text) RETURNS int -AS 'MODULE_PATHNAME', 'difference' -LANGUAGE C IMMUTABLE STRICT; - -CREATE FUNCTION dmetaphone (text) RETURNS text -AS 'MODULE_PATHNAME', 'dmetaphone' -LANGUAGE C IMMUTABLE STRICT; - -CREATE FUNCTION dmetaphone_alt (text) RETURNS text -AS 'MODULE_PATHNAME', 'dmetaphone_alt' -LANGUAGE C IMMUTABLE STRICT; diff --git a/contrib/fuzzystrmatch/fuzzystrmatch--1.1.sql b/contrib/fuzzystrmatch/fuzzystrmatch--1.1.sql new file mode 100644 index 00000000000..41de9d949bb --- /dev/null +++ b/contrib/fuzzystrmatch/fuzzystrmatch--1.1.sql @@ -0,0 +1,44 @@ +/* contrib/fuzzystrmatch/fuzzystrmatch--1.1.sql */ + +-- complain if script is sourced in psql, rather than via CREATE EXTENSION +\echo Use "CREATE EXTENSION fuzzystrmatch" to load this file. \quit + +CREATE FUNCTION levenshtein (text,text) RETURNS int +AS 'MODULE_PATHNAME','levenshtein' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION levenshtein (text,text,int,int,int) RETURNS int +AS 'MODULE_PATHNAME','levenshtein_with_costs' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION levenshtein_less_equal (text,text,int) RETURNS int +AS 'MODULE_PATHNAME','levenshtein_less_equal' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION levenshtein_less_equal (text,text,int,int,int,int) RETURNS int +AS 'MODULE_PATHNAME','levenshtein_less_equal_with_costs' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION metaphone (text,int) RETURNS text +AS 'MODULE_PATHNAME','metaphone' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION soundex(text) RETURNS text +AS 'MODULE_PATHNAME', 'soundex' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION text_soundex(text) RETURNS text +AS 'MODULE_PATHNAME', 'soundex' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION difference(text,text) RETURNS int +AS 'MODULE_PATHNAME', 'difference' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION dmetaphone (text) RETURNS text +AS 'MODULE_PATHNAME', 'dmetaphone' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; + +CREATE FUNCTION dmetaphone_alt (text) RETURNS text +AS 'MODULE_PATHNAME', 'dmetaphone_alt' +LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; diff --git a/contrib/fuzzystrmatch/fuzzystrmatch.control b/contrib/fuzzystrmatch/fuzzystrmatch.control index e257f096117..6b2832ae8d9 100644 --- a/contrib/fuzzystrmatch/fuzzystrmatch.control +++ b/contrib/fuzzystrmatch/fuzzystrmatch.control @@ -1,5 +1,5 @@ # fuzzystrmatch extension comment = 'determine similarities and distance between strings' -default_version = '1.0' +default_version = '1.1' module_pathname = '$libdir/fuzzystrmatch' relocatable = true -- cgit v1.2.3