diff --git a/CHANGELOG.md b/CHANGELOG.md index 902fdfb..f9d7a63 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,4 +4,7 @@ -Created install.sql with working but probably under tested working encode/decode ## V0.2 --Added spec tests & fixed any failures \ No newline at end of file +-Added spec tests & fixed any failures + +## V0.2.1 +-Marked functions as immutable \ No newline at end of file diff --git a/src/install.sql b/src/install.sql index c0c00e2..df577c5 100644 --- a/src/install.sql +++ b/src/install.sql @@ -31,7 +31,7 @@ BEGIN --raise notice 'Shuffled alphabet: %', array_to_string(chars, ''); RETURN array_to_string(chars, ''); END; -$$ LANGUAGE plpgsql; +$$ LANGUAGE plpgsql IMMUTABLE; CREATE OR REPLACE FUNCTION sqids.checkAlphabet(alphabet TEXT) RETURNS BOOLEAN AS $$ DECLARE @@ -58,7 +58,7 @@ BEGIN RETURN TRUE; END; -$$ LANGUAGE plpgsql; +$$ LANGUAGE plpgsql IMMUTABLE; CREATE OR REPLACE FUNCTION sqids.isBlockedId(id TEXT) RETURNS BOOLEAN AS $$ DECLARE @@ -112,7 +112,7 @@ BEGIN --raise notice 'toId result: %', array_to_string(id, ''); RETURN array_to_string(id, ''); END; -$$ LANGUAGE plpgsql; +$$ LANGUAGE plpgsql IMMUTABLE; CREATE OR REPLACE FUNCTION sqids.toNumber(id TEXT, alphabet TEXT) RETURNS BIGINT AS $$ DECLARE @@ -139,7 +139,7 @@ BEGIN --raise notice 'tonumber result: %', result; RETURN result; END; -$$ LANGUAGE plpgsql; +$$ LANGUAGE plpgsql IMMUTABLE; CREATE OR REPLACE FUNCTION sqids.encodeNumbers(numbers BIGINT[], alphabet TEXT, minLength INT, increment INT DEFAULT 0) RETURNS TEXT AS $$ DECLARE @@ -231,7 +231,7 @@ BEGIN RETURN id; END; -$$ LANGUAGE plpgsql; +$$ LANGUAGE plpgsql IMMUTABLE; CREATE OR REPLACE FUNCTION sqids.decode(id TEXT, alphabet TEXT DEFAULT 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789') RETURNS BIGINT[] AS $$ @@ -301,7 +301,7 @@ BEGIN RETURN ret; END; -$$ LANGUAGE plpgsql; +$$ LANGUAGE plpgsql IMMUTABLE; CREATE OR REPLACE FUNCTION sqids.encode(numbers BIGINT[], alphabet TEXT DEFAULT 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', minLength INT DEFAULT 0) RETURNS TEXT AS $$ DECLARE @@ -313,13 +313,13 @@ BEGIN id := sqids.encodeNumbers(numbers, alphabet, minLength); RETURN id; END; -$$ LANGUAGE plpgsql; +$$ LANGUAGE plpgsql IMMUTABLE; CREATE OR REPLACE FUNCTION sqids.encode(numbers BIGINT[], minLength INT) RETURNS TEXT AS $$ BEGIN RETURN sqids.encode(numbers, 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', minLength); END; -$$ LANGUAGE plpgsql; +$$ LANGUAGE plpgsql IMMUTABLE; CREATE OR REPLACE FUNCTION sqids.defaultBlocklist() RETURNS VOID AS $$ BEGIN