diff --git a/sql/016-operators-match.sql b/sql/016-operators-match.sql index 68ba4a95..e3e9e7e7 100644 --- a/sql/016-operators-match.sql +++ b/sql/016-operators-match.sql @@ -87,18 +87,18 @@ CREATE OPERATOR <@( ); -DROP OPERATOR IF EXISTS <@ (cs_match_index_v1, cs_encrypted_v1); -DROP FUNCTION IF EXISTS cs_encrypted_contained_v1(a cs_match_index_v1, b cs_encrypted_v1); +DROP OPERATOR IF EXISTS <@ (cs_encrypted_v1, cs_match_index_v1); +DROP FUNCTION IF EXISTS cs_encrypted_contained_v1(a cs_encrypted_v1, b cs_match_index_v1); -CREATE FUNCTION cs_encrypted_contained_v1(a cs_match_index_v1, b cs_encrypted_v1) +CREATE FUNCTION cs_encrypted_contained_v1(a cs_encrypted_v1, b cs_match_index_v1) RETURNS boolean AS $$ - SELECT a <@ cs_match_v1(b); + SELECT cs_match_v1(a) <@ b; $$ LANGUAGE SQL; CREATE OPERATOR <@ ( PROCEDURE="cs_encrypted_contained_v1", - LEFTARG=cs_match_index_v1, - RIGHTARG=cs_encrypted_v1, + LEFTARG=cs_encrypted_v1, + RIGHTARG=cs_match_index_v1, RESTRICT = eqsel, JOIN = eqjoinsel, HASHES, @@ -106,18 +106,18 @@ CREATE OPERATOR <@ ( ); -DROP OPERATOR IF EXISTS <@ (cs_encrypted_v1, cs_match_index_v1); -DROP FUNCTION IF EXISTS cs_encrypted_contained_v1(a cs_encrypted_v1, b cs_match_index_v1); +DROP OPERATOR IF EXISTS <@ (cs_match_index_v1, cs_encrypted_v1); +DROP FUNCTION IF EXISTS cs_encrypted_contained_v1(a cs_match_index_v1, b cs_encrypted_v1); CREATE FUNCTION cs_encrypted_contained_v1(a cs_match_index_v1, b cs_encrypted_v1) RETURNS boolean AS $$ - SELECT cs_match_v1(a) <@ b; + SELECT a <@ cs_match_v1(b); $$ LANGUAGE SQL; CREATE OPERATOR <@ ( PROCEDURE="cs_encrypted_contained_v1", - LEFTARG=cs_encrypted_v1, - RIGHTARG=cs_match_index_v1, + LEFTARG=cs_match_index_v1, + RIGHTARG=cs_encrypted_v1, RESTRICT = eqsel, JOIN = eqjoinsel, HASHES, diff --git a/sql/017-operators-ore.sql b/sql/017-operators-ore.sql index f8c3c9de..400a683f 100644 --- a/sql/017-operators-ore.sql +++ b/sql/017-operators-ore.sql @@ -398,9 +398,31 @@ CREATE OPERATOR <=( JOIN = scalarlejoinsel ); + ----------------------------------------------------------------------------------------- +DROP FUNCTION IF EXISTS cs_encrypted_ore_64_8_compare(a cs_encrypted_v1, b cs_encrypted_v1); + +CREATE FUNCTION cs_encrypted_ore_64_8_compare(a cs_encrypted_v1, b cs_encrypted_v1) + RETURNS integer AS $$ + BEGIN + RETURN compare_ore_64_8_v1(cs_ore_64_8_v1(a), cs_ore_64_8_v1(b)); + END; +$$ LANGUAGE plpgsql; + +DROP FUNCTION IF EXISTS cs_encrypted_ore_64_8_compare(a cs_encrypted_v1, b cs_encrypted_v1); + +CREATE FUNCTION cs_encrypted_ore_64_8_compare(a cs_encrypted_v1, b jsonb) + RETURNS integer AS $$ + BEGIN + RETURN compare_ore_64_8_v1(cs_ore_64_8_v1(a), cs_ore_64_8_v1(jsonb)); + END; +$$ LANGUAGE plpgsql; + + +----------------------------------------------------------------------------------------- + DROP OPERATOR FAMILY IF EXISTS cs_encrypted_ore_64_8_v1_btree_ops_v1 USING btree; @@ -409,11 +431,12 @@ CREATE OPERATOR FAMILY cs_encrypted_ore_64_8_v1_btree_ops_v1 USING btree; DROP OPERATOR CLASS IF EXISTS ore_64_8_v1_btree_ops USING btree; -CREATE OPERATOR CLASS cs_encrypted_ore_64_8_v1_btree_ops_v1 DEFAULT FOR TYPE cs_encrypted_v1 USING btree FAMILY cs_encrypted_ore_64_8_v1_btree_ops_v1 AS - OPERATOR 1 <, - OPERATOR 2 <=, - OPERATOR 3 =, - OPERATOR 4 >=, - OPERATOR 5 >; - - +CREATE OPERATOR CLASS cs_encrypted_ore_64_8_v1_btree_ops_v1 DEFAULT +FOR TYPE cs_encrypted_v1 USING btree + FAMILY cs_encrypted_ore_64_8_v1_btree_ops_v1 AS + OPERATOR 1 <, + OPERATOR 2 <=, + OPERATOR 3 =, + OPERATOR 4 >=, + OPERATOR 5 >, + FUNCTION 1 cs_encrypted_ore_64_8_compare(a cs_encrypted_v1, b cs_encrypted_v1); diff --git a/sql/666-drop-operators.sql b/sql/666-drop-operators.sql index f0a11c63..8bd9fe3a 100644 --- a/sql/666-drop-operators.sql +++ b/sql/666-drop-operators.sql @@ -1,28 +1,27 @@ +DROP OPERATOR FAMILY IF EXISTS cs_encrypted_ore_64_8_v1_btree_ops_v1 USING btree; +DROP OPERATOR CLASS IF EXISTS ore_64_8_v1_btree_ops USING btree; DROP OPERATOR IF EXISTS @> (cs_encrypted_v1, cs_encrypted_v1); - DROP OPERATOR IF EXISTS @> (cs_encrypted_v1, cs_match_index_v1); DROP OPERATOR IF EXISTS @> (cs_match_index_v1, cs_encrypted_v1); DROP OPERATOR IF EXISTS <@ (cs_encrypted_v1, cs_encrypted_v1); - DROP OPERATOR IF EXISTS <@ (cs_encrypted_v1, cs_match_index_v1); DROP OPERATOR IF EXISTS <@ (cs_match_index_v1, cs_encrypted_v1); - DROP OPERATOR IF EXISTS <= (ore_64_8_v1, cs_encrypted_v1); DROP OPERATOR IF EXISTS <= (cs_encrypted_v1, ore_64_8_v1); DROP OPERATOR IF EXISTS <= (jsonb, cs_encrypted_v1); DROP OPERATOR IF EXISTS <= (cs_encrypted_v1, jsonb); DROP OPERATOR IF EXISTS <= (cs_encrypted_v1, cs_encrypted_v1); -DROP OPERATOR IF EXISTS >=(ore_64_8_v1, cs_encrypted_v1); +DROP OPERATOR IF EXISTS >= (ore_64_8_v1, cs_encrypted_v1); DROP OPERATOR IF EXISTS >= (jsonb, cs_encrypted_v1); DROP OPERATOR IF EXISTS >= (cs_encrypted_v1, ore_64_8_v1); DROP OPERATOR IF EXISTS >= (cs_encrypted_v1, jsonb); -DROP OPERATOR IF EXISTS >=(cs_encrypted_v1, cs_encrypted_v1); +DROP OPERATOR IF EXISTS >= (cs_encrypted_v1, cs_encrypted_v1); -DROP OPERATOR IF EXISTS <(ore_64_8_v1, cs_encrypted_v1); -DROP OPERATOR IF EXISTS <(cs_encrypted_v1, ore_64_8_v1); +DROP OPERATOR IF EXISTS < (ore_64_8_v1, cs_encrypted_v1); +DROP OPERATOR IF EXISTS < (cs_encrypted_v1, ore_64_8_v1); DROP OPERATOR IF EXISTS < (jsonb, cs_encrypted_v1); DROP OPERATOR IF EXISTS < (cs_encrypted_v1, jsonb); DROP OPERATOR IF EXISTS < (cs_encrypted_v1, cs_encrypted_v1); @@ -33,25 +32,18 @@ DROP OPERATOR IF EXISTS > (cs_encrypted_v1, ore_64_8_v1); DROP OPERATOR IF EXISTS > (cs_encrypted_v1, jsonb); DROP OPERATOR IF EXISTS > (cs_encrypted_v1, cs_encrypted_v1); - DROP OPERATOR IF EXISTS = (cs_encrypted_v1, cs_encrypted_v1); - DROP OPERATOR IF EXISTS = (cs_encrypted_v1, jsonb); DROP OPERATOR IF EXISTS = (jsonb, cs_encrypted_v1); - DROP OPERATOR IF EXISTS = (cs_encrypted_v1, cs_unique_index_v1); DROP OPERATOR IF EXISTS = (cs_unique_index_v1, cs_encrypted_v1); - DROP OPERATOR IF EXISTS = (cs_encrypted_v1, ore_64_8_v1); DROP OPERATOR IF EXISTS = (ore_64_8_v1, cs_encrypted_v1); DROP OPERATOR IF EXISTS <> (cs_encrypted_v1, cs_encrypted_v1); - DROP OPERATOR IF EXISTS <> (cs_encrypted_v1, jsonb); DROP OPERATOR IF EXISTS <> (jsonb, cs_encrypted_v1); - DROP OPERATOR IF EXISTS <> (cs_encrypted_v1, cs_unique_index_v1); DROP OPERATOR IF EXISTS <> (cs_unique_index_v1, cs_encrypted_v1); - DROP OPERATOR IF EXISTS <> (ore_64_8_v1, cs_encrypted_v1); DROP OPERATOR IF EXISTS <> (cs_encrypted_v1, ore_64_8_v1); diff --git a/tasks/build.sh b/tasks/build.sh index 7a8fa334..09adaed5 100755 --- a/tasks/build.sh +++ b/tasks/build.sh @@ -1,5 +1,6 @@ #!/usr/bin/env bash #MISE description="Build SQL into single release file" +#MISE alias="b" #MISE sources=["sql/*.sql"] #MISE outputs=["release/cipherstash-encrypt.sql","release/cipherstash-encrypt-uninstall.sql"] @@ -21,7 +22,8 @@ cat sql/666-drop_types.sql >> release/cipherstash-encrypt-tmp-drop-install.sql # Build cipherstash-encrypt.sql # drop everything first -cat release/cipherstash-encrypt-tmp-drop-install.sql > release/cipherstash-encrypt.sql +cat sql/666-drop-operators.sql > release/cipherstash-encrypt.sql +cat release/cipherstash-encrypt-tmp-drop-install.sql >> release/cipherstash-encrypt.sql # cat the rest of the sql files cat sql/0*-*.sql >> release/cipherstash-encrypt.sql