Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 11 additions & 11 deletions sql/016-operators-match.sql
Original file line number Diff line number Diff line change
Expand Up @@ -87,37 +87,37 @@ 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,
MERGES
);


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,
Expand Down
39 changes: 31 additions & 8 deletions sql/017-operators-ore.sql
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -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);
20 changes: 6 additions & 14 deletions sql/666-drop-operators.sql
Original file line number Diff line number Diff line change
@@ -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);
Expand All @@ -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);
4 changes: 3 additions & 1 deletion tasks/build.sh
Original file line number Diff line number Diff line change
@@ -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"]

Expand All @@ -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

Expand Down