1515
1616-- DROP FUNCTION IF EXISTS eql_v1.match(a eql_v1_encrypted, b eql_v1_encrypted);
1717
18- CREATE FUNCTION eql_v1 .match (a eql_v1_encrypted, b eql_v1_encrypted)
18+ CREATE FUNCTION eql_v1 .like (a eql_v1_encrypted, b eql_v1_encrypted)
1919RETURNS boolean AS $$
2020 SELECT eql_v1 .match (a) @> eql_v1 .match (b);
2121$$ LANGUAGE SQL;
2222
2323
24+ --
25+ -- Case sensitivity depends on the index term configuration
26+ -- Function preserves the SQL semantics
27+ --
28+ CREATE FUNCTION eql_v1 .ilike(a eql_v1_encrypted, b eql_v1_encrypted)
29+ RETURNS boolean AS $$
30+ SELECT eql_v1 .match (a) @> eql_v1 .match (b);
31+ $$ LANGUAGE SQL;
32+
33+
34+
2435-- DROP OPERATOR BEFORE FUNCTION
2536-- DROP OPERATOR IF EXISTS ~~ (eql_v1_encrypted, eql_v1_encrypted);
2637-- DROP OPERATOR IF EXISTS ~~* (eql_v1_encrypted, eql_v1_encrypted);
@@ -31,7 +42,7 @@ CREATE FUNCTION eql_v1."~~"(a eql_v1_encrypted, b eql_v1_encrypted)
3142 RETURNS boolean
3243AS $$
3344 BEGIN
34- RETURN eql_v1 .match (a, b);
45+ RETURN eql_v1 .like (a, b);
3546 END;
3647$$ LANGUAGE plpgsql;
3748
@@ -65,7 +76,7 @@ CREATE FUNCTION eql_v1."~~"(a eql_v1_encrypted, b jsonb)
6576 RETURNS boolean
6677AS $$
6778 BEGIN
68- RETURN eql_v1 .match (a, b::eql_v1_encrypted);
79+ RETURN eql_v1 .like (a, b::eql_v1_encrypted);
6980 END;
7081$$ LANGUAGE plpgsql;
7182
@@ -100,7 +111,7 @@ CREATE FUNCTION eql_v1."~~"(a jsonb, b eql_v1_encrypted)
100111 RETURNS boolean
101112AS $$
102113 BEGIN
103- RETURN eql_v1 .match (a::eql_v1_encrypted, b);
114+ RETURN eql_v1 .like (a::eql_v1_encrypted, b);
104115 END;
105116$$ LANGUAGE plpgsql;
106117
0 commit comments