Skip to content

Commit 93a141e

Browse files
committed
WIP
1 parent ed460fc commit 93a141e

File tree

3 files changed

+133
-96
lines changed

3 files changed

+133
-96
lines changed

sql/011-core-functions.sql

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ CREATE FUNCTION cs_ciphertext_v1(val jsonb)
55
IMMUTABLE STRICT PARALLEL SAFE
66
AS $$
77
BEGIN
8+
RAISE NOTICE 'cs_ciphertext_v1';
89
IF val ? 'c' THEN
910
RETURN val->>'c';
1011
END IF;
@@ -86,6 +87,7 @@ CREATE FUNCTION cs_ore_64_8_v1(val jsonb)
8687
IMMUTABLE STRICT PARALLEL SAFE
8788
AS $$
8889
BEGIN
90+
RAISE NOTICE 'cs_ore_64_8_v1';
8991
IF val ? 'o' THEN
9092
RETURN jsonb_array_to_bytea_array(val->'o');
9193
END IF;

sql/017-operators-ore.sql

Lines changed: 39 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,30 +10,60 @@
1010
DROP FUNCTION IF EXISTS cs_encrypted_ore_64_8_compare_v1(a cs_encrypted_v1, b cs_encrypted_v1);
1111

1212
CREATE FUNCTION cs_encrypted_ore_64_8_compare_v1(a cs_encrypted_v1, b cs_encrypted_v1)
13-
RETURNS integer AS $$
14-
SELECT cs_encrypted_ore_64_8_compare_v1(a::jsonb, b::jsonb)
15-
$$ LANGUAGE sql;
16-
17-
18-
DROP FUNCTION IF EXISTS cs_encrypted_ore_64_8_compare_v1(a jsonb, b jsonb);
19-
20-
CREATE FUNCTION cs_encrypted_ore_64_8_compare_v1(a jsonb, b jsonb)
2113
RETURNS integer AS $$
2214
DECLARE
2315
a_ore ore_64_8_index_v1;
2416
b_ore ore_64_8_index_v1;
2517
result integer;
2618
BEGIN
2719

20+
RAISE NOTICE 'a %', a;
21+
RAISE NOTICE 'b %', b;
22+
2823
SELECT cs_ore_64_8_v1(a) INTO a_ore;
2924
SELECT cs_ore_64_8_v1(b) INTO b_ore;
3025

31-
SELECT compare_ore_64_8_v1(a_ore, b_ore) INTO result;
26+
IF array_length(a_ore, 1) = 1 AND array_length(b_ore, 1) = 1 THEN
27+
SELECT compare_ore_64_8_v1_term(a_ore[1], b_ore[1]) INTO result;
28+
ELSE
29+
SELECT compare_ore_64_8_v1(a_ore, b_ore) INTO result;
30+
END IF;
31+
32+
RAISE NOTICE '%', result;
3233

3334
RETURN result;
3435
END;
3536
$$ LANGUAGE plpgsql;
3637

38+
39+
-- DROP FUNCTION IF EXISTS cs_encrypted_ore_64_8_compare_v1(a jsonb, b jsonb);
40+
41+
-- CREATE FUNCTION cs_encrypted_ore_64_8_compare_v1(a jsonb, b jsonb)
42+
-- RETURNS integer AS $$
43+
-- DECLARE
44+
-- a_ore ore_64_8_index_v1;
45+
-- b_ore ore_64_8_index_v1;
46+
-- result integer;
47+
-- BEGIN
48+
49+
-- RAISE NOTICE 'a %', a;
50+
-- RAISE NOTICE 'b %', b;
51+
52+
-- SELECT cs_ore_64_8_v1(a) INTO a_ore;
53+
-- SELECT cs_ore_64_8_v1(b) INTO b_ore;
54+
55+
-- IF array_length(a_ore, 1) = 1 AND array_length(b_ore, 1) = 1 THEN
56+
-- SELECT compare_ore_64_8_v1_term(a_ore[1], b_ore[1]) INTO result;
57+
-- ELSE
58+
-- SELECT compare_ore_64_8_v1(a_ore, b_ore) INTO result;
59+
-- END IF;
60+
61+
-- RAISE NOTICE '%', result;
62+
63+
-- RETURN result;
64+
-- END;
65+
-- $$ LANGUAGE plpgsql;
66+
3767
-----------------------------------------------------------------------------------------
3868

3969

0 commit comments

Comments
 (0)