|
10 | 10 | DROP FUNCTION IF EXISTS cs_encrypted_ore_64_8_compare_v1(a cs_encrypted_v1, b cs_encrypted_v1); |
11 | 11 |
|
12 | 12 | 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) |
21 | 13 | RETURNS integer AS $$ |
22 | 14 | DECLARE |
23 | 15 | a_ore ore_64_8_index_v1; |
24 | 16 | b_ore ore_64_8_index_v1; |
25 | 17 | result integer; |
26 | 18 | BEGIN |
27 | 19 |
|
| 20 | + RAISE NOTICE 'a %', a; |
| 21 | + RAISE NOTICE 'b %', b; |
| 22 | + |
28 | 23 | SELECT cs_ore_64_8_v1(a) INTO a_ore; |
29 | 24 | SELECT cs_ore_64_8_v1(b) INTO b_ore; |
30 | 25 |
|
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; |
32 | 33 |
|
33 | 34 | RETURN result; |
34 | 35 | END; |
35 | 36 | $$ LANGUAGE plpgsql; |
36 | 37 |
|
| 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 | + |
37 | 67 | ----------------------------------------------------------------------------------------- |
38 | 68 |
|
39 | 69 |
|
|
0 commit comments