diff --git a/src/encrypted/aggregates.sql b/src/encrypted/aggregates.sql index e6e0d61..9dcdfb7 100644 --- a/src/encrypted/aggregates.sql +++ b/src/encrypted/aggregates.sql @@ -9,7 +9,6 @@ CREATE FUNCTION eql_v2.min(a eql_v2_encrypted, b eql_v2_encrypted) STRICT AS $$ BEGIN - PERFORM eql_v2.log('eql_v2.min'); IF eql_v2.ore_block_u64_8_256(a) < eql_v2.ore_block_u64_8_256(b) THEN RETURN a; ELSE @@ -31,7 +30,6 @@ RETURNS eql_v2_encrypted STRICT AS $$ BEGIN - PERFORM eql_v2.log('eql_v2.max'); IF eql_v2.ore_block_u64_8_256(a) > eql_v2.ore_block_u64_8_256(b) THEN RETURN a; ELSE diff --git a/src/operators/->.sql b/src/operators/->.sql index 22a1efa..5aac8ec 100644 --- a/src/operators/->.sql +++ b/src/operators/->.sql @@ -5,19 +5,21 @@ -- --- The -> operator returns an encrypted matching the selector +-- The -> operator returns an encrypted matching the provided selector +-- -- Encyprted JSON is represented as an array of `eql_v2_encrypted`. --- Each `eql_v2_encrypted` value has a selector, ciphertext, and an index term of --- - blake3 --- - ore_cllw_u64_8 --- - ore_cllw_var_8 +-- Each `eql_v2_encrypted` value has a selector, ciphertext, and an index term -- -- { -- "sv": [ {"c": "", "s": "", "b3": "" } ] -- } -- - - +-- Note on oeprator resolution: +-- Assignment casts are considered for operator resolution (see PostgreSQL docs), +-- the system may pick the "more specific" one, which is the one with both arguments of the same type. +-- +-- This means that to use the text operator, the parameter will need to be cast to text +-- CREATE FUNCTION eql_v2."->"(e eql_v2_encrypted, selector text) RETURNS eql_v2_encrypted IMMUTABLE STRICT PARALLEL SAFE @@ -43,10 +45,34 @@ AS $$ END; $$ LANGUAGE plpgsql; +CREATE OPERATOR ->( + FUNCTION=eql_v2."->", + LEFTARG=eql_v2_encrypted, + RIGHTARG=text +); + +--------------------------------------------------- --- + +CREATE FUNCTION eql_v2."->"(e eql_v2_encrypted, selector eql_v2_encrypted) + RETURNS eql_v2_encrypted + IMMUTABLE STRICT PARALLEL SAFE +AS $$ + BEGIN + RETURN eql_v2."->"(e, eql_v2.selector(selector)); + END; +$$ LANGUAGE plpgsql; + + + +CREATE OPERATOR ->( + FUNCTION=eql_v2."->", + LEFTARG=eql_v2_encrypted, + RIGHTARG=eql_v2_encrypted +); +--------------------------------------------------- CREATE FUNCTION eql_v2."->"(e eql_v2_encrypted, selector integer) @@ -76,11 +102,7 @@ AS $$ $$ LANGUAGE plpgsql; -CREATE OPERATOR ->( - FUNCTION=eql_v2."->", - LEFTARG=eql_v2_encrypted, - RIGHTARG=text -); + CREATE OPERATOR ->( diff --git a/src/operators/->>.sql b/src/operators/->>.sql index d50977d..6adf0d8 100644 --- a/src/operators/->>.sql +++ b/src/operators/->>.sql @@ -11,9 +11,7 @@ AS $$ DECLARE found eql_v2_encrypted; BEGIN - found = eql_v2."->"(e, selector); - RETURN eql_v2.ciphertext(found); END; $$ LANGUAGE plpgsql; @@ -26,3 +24,22 @@ CREATE OPERATOR ->> ( ); + +--------------------------------------------------- + + +CREATE FUNCTION eql_v2."->>"(e eql_v2_encrypted, selector eql_v2_encrypted) + RETURNS text + IMMUTABLE STRICT PARALLEL SAFE +AS $$ + BEGIN + RETURN eql_v2."->>"(e, eql_v2.selector(selector)); + END; +$$ LANGUAGE plpgsql; + + +CREATE OPERATOR ->> ( + FUNCTION=eql_v2."->>", + LEFTARG=eql_v2_encrypted, + RIGHTARG=eql_v2_encrypted +); \ No newline at end of file diff --git a/src/operators/->>_test.sql b/src/operators/->>_test.sql index 077d8b7..df9aa5c 100644 --- a/src/operators/->>_test.sql +++ b/src/operators/->>_test.sql @@ -3,17 +3,18 @@ SELECT create_table_with_encrypted(); SELECT seed_encrypted_json(); + -- -- The ->> operator returns ciphertext matching the selector DO $$ BEGIN PERFORM assert_result( 'Selector ->> returns at least one eql_v2_encrypted', - 'SELECT e->>''bca213de9ccce676fa849ff9c4807963'' FROM encrypted;'); + 'SELECT e->>''bca213de9ccce676fa849ff9c4807963''::text FROM encrypted;'); PERFORM assert_count( 'Selector ->> returns all eql_v2_encrypted', - 'SELECT e->>''bca213de9ccce676fa849ff9c4807963'' FROM encrypted;', + 'SELECT e->>''bca213de9ccce676fa849ff9c4807963''::text FROM encrypted;', 3); END; $$ LANGUAGE plpgsql; @@ -25,7 +26,7 @@ DO $$ BEGIN PERFORM assert_no_result( 'Unknown selector -> returns null', - 'SELECT e->>''blahvtha'' FROM encrypted;'); + 'SELECT e->>''blahvtha''::text FROM encrypted;'); END; $$ LANGUAGE plpgsql; @@ -38,8 +39,29 @@ DO $$ PERFORM assert_result( 'Selector ->> returns all eql_v2_encrypted', - 'SELECT e->>''bca213de9ccce676fa849ff9c4807963'' FROM encrypted LIMIT 1;', + 'SELECT e->>''bca213de9ccce676fa849ff9c4807963''::text FROM encrypted LIMIT 1;', 'mBbLGB9xHAGzLvUj-`@Wmf=IhD87n7r3ir3n!Sk6AKir_YawR=0c>pk(OydB;ntIEXK~c>V&4>)rNkf> operator accepts an eql_v2_encrypted as the selector +-- +DO $$ + DECLARE + term text; + BEGIN + term := '{"s": "bca213de9ccce676fa849ff9c4807963"}'; + + PERFORM assert_result( + 'Selector ->> returns at least one eql_v2_encrypted', + format('SELECT e->>%L::jsonb::eql_v2_encrypted FROM encrypted;', term)); + + PERFORM assert_count( + 'Selector ->> returns all eql_v2_encrypted', + format('SELECT e->>%L::jsonb::eql_v2_encrypted FROM encrypted;', term), + 3); + END; +$$ LANGUAGE plpgsql; + diff --git a/src/operators/->_test.sql b/src/operators/->_test.sql index 439510f..a04adec 100644 --- a/src/operators/->_test.sql +++ b/src/operators/->_test.sql @@ -5,17 +5,18 @@ SELECT create_table_with_encrypted(); SELECT seed_encrypted_json(); + -- -- The -> operator returns an encrypted matching the selector DO $$ BEGIN PERFORM assert_result( 'Selector -> returns at least one eql_v2_encrypted', - 'SELECT e->''bca213de9ccce676fa849ff9c4807963'' FROM encrypted;'); + 'SELECT e->''bca213de9ccce676fa849ff9c4807963''::text FROM encrypted;'); PERFORM assert_count( 'Selector -> returns all eql_v2_encrypted', - 'SELECT e->''bca213de9ccce676fa849ff9c4807963'' FROM encrypted;', + 'SELECT e->''bca213de9ccce676fa849ff9c4807963''::text FROM encrypted;', 3); END; $$ LANGUAGE plpgsql; @@ -27,13 +28,34 @@ DO $$ BEGIN PERFORM assert_no_result( 'Unknown selector -> returns null', - 'SELECT e->''blahvtha'' FROM encrypted;'); + 'SELECT e->''blahvtha''::text FROM encrypted;'); END; $$ LANGUAGE plpgsql; +-- +-- The -> operator accepts an eql_v2_encrypted as the selector +-- +DO $$ + DECLARE + term text; + BEGIN + term := '{"s": "bca213de9ccce676fa849ff9c4807963"}'; + + PERFORM assert_result( + 'Selector -> returns at least one eql_v2_encrypted', + format('SELECT e->%L::jsonb::eql_v2_encrypted FROM encrypted;', term)); + + PERFORM assert_count( + 'Selector -> returns all eql_v2_encrypted', + format('SELECT e->%L::jsonb::eql_v2_encrypted FROM encrypted;', term), + 3); + END; +$$ LANGUAGE plpgsql; + + -- -- encrypted returned from -> operator expression called via eql_v2.ciphertext -- @@ -43,11 +65,11 @@ DO $$ BEGIN PERFORM assert_result( 'Fetch ciphertext via selector', - 'SELECT eql_v2.ciphertext(e->''2517068c0d1f9d4d41d2c666211f785e'') FROM encrypted;'); + 'SELECT eql_v2.ciphertext(e->''2517068c0d1f9d4d41d2c666211f785e''::text) FROM encrypted;'); PERFORM assert_count( 'Fetch ciphertext via selector returns all eql_v2_encrypted', - 'SELECT eql_v2.ciphertext(e->''2517068c0d1f9d4d41d2c666211f785e'') FROM encrypted;', + 'SELECT eql_v2.ciphertext(e->''2517068c0d1f9d4d41d2c666211f785e''::text) FROM encrypted;', 3); END; $$ LANGUAGE plpgsql; diff --git a/src/operators/<=_test.sql b/src/operators/<=_test.sql index f9d4625..6581a4d 100644 --- a/src/operators/<=_test.sql +++ b/src/operators/<=_test.sql @@ -3,7 +3,7 @@ SELECT create_table_with_encrypted(); SELECT seed_encrypted_json(); -SELECT e FROM encrypted WHERE e->'a7cea93975ed8c01f861ccb6bd082784' <= '("{""c"": ""mBbM0#UZON2jQ3@LiWcvns2Yf6y3L;hykEh`}*fX#aF;n*=>+*o5Uarod39C7TF-SiCD-NgkG)l%Vw=l!tX>H*P'a7cea93975ed8c01f861ccb6bd082784'::text <= '("{""c"": ""mBbM0#UZON2jQ3@LiWcvns2Yf6y3L;hykEh`}*fX#aF;n*=>+*o5Uarod39C7TF-SiCD-NgkG)l%Vw=l!tX>H*P'2517068c0d1f9d4d41d2c666211f785e'; + term := sv->'2517068c0d1f9d4d41d2c666211f785e'::text; -- -- -- -- $.n PERFORM assert_result( format('eql_v2_encrypted <= eql_v2_encrypted with ore_cllw_u64_8 index term'), - format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e'' <= %L::eql_v2_encrypted', term)); + format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e''::text <= %L::eql_v2_encrypted', term)); PERFORM assert_count( format('eql_v2_encrypted <= eql_v2_encrypted with ore index term'), - format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e'' <= %L::eql_v2_encrypted', term), + format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e''::text <= %L::eql_v2_encrypted', term), 3); -- -- Check the $.hello path -- -- Returned encrypted does not have ore_cllw_u64_8 PERFORM assert_no_result( format('eql_v2_encrypted <= eql_v2_encrypted with ore_cllw_u64_8 index term'), - format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784'' <= %L::eql_v2_encrypted', term)); + format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784''::text <= %L::eql_v2_encrypted', term)); END; $$ LANGUAGE plpgsql; @@ -73,23 +73,23 @@ DECLARE -- json n: 30 sv := get_numeric_ste_vec_30()::eql_v2_encrypted; -- extract the term at $.n returned as eql_v2_encrypted - term := sv->'a7cea93975ed8c01f861ccb6bd082784'; + term := sv->'a7cea93975ed8c01f861ccb6bd082784'::text; -- -- -- -- $.n PERFORM assert_result( format('eql_v2_encrypted <= eql_v2_encrypted with ore_cllw_var_8 index term'), - format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784'' <= %L::eql_v2_encrypted', term)); + format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784''::text <= %L::eql_v2_encrypted', term)); PERFORM assert_count( format('eql_v2_encrypted <= eql_v2_encrypted with ore_cllw_var_8 index term'), - format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784'' <= %L::eql_v2_encrypted', term), + format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784''::text <= %L::eql_v2_encrypted', term), 2); -- -- Check the $.n path -- -- Returned encrypted does not have ore_cllw_u64_8 PERFORM assert_no_result( format('eql_v2_encrypted <= eql_v2_encrypted with ore_cllw_var_8 index term'), - format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e'' <= %L::eql_v2_encrypted', term)); + format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e''::text <= %L::eql_v2_encrypted', term)); END; $$ LANGUAGE plpgsql; diff --git a/src/operators/<>_ore_cllw_u64_8_test.sql b/src/operators/<>_ore_cllw_u64_8_test.sql index 3e710eb..17881b0 100644 --- a/src/operators/<>_ore_cllw_u64_8_test.sql +++ b/src/operators/<>_ore_cllw_u64_8_test.sql @@ -31,23 +31,23 @@ DECLARE -- json n: 10 sv := get_numeric_ste_vec_10()::eql_v2_encrypted; -- extract the term at $.n returned as eql_v2_encrypted - term := sv->'2517068c0d1f9d4d41d2c666211f785e'; + term := sv->'2517068c0d1f9d4d41d2c666211f785e'::text; -- -- -- -- $.n PERFORM assert_result( format('eql_v2_encrypted <> eql_v2_encrypted with ore_cllw_u64_8 index term'), - format('SELECT e FROM encrypted WHERE (e->''2517068c0d1f9d4d41d2c666211f785e'') <> %L::eql_v2_encrypted', term)); + format('SELECT e FROM encrypted WHERE (e->''2517068c0d1f9d4d41d2c666211f785e''::text) <> %L::eql_v2_encrypted', term)); PERFORM assert_count( format('eql_v2_encrypted <> eql_v2_encrypted with ore index term'), - format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e'' <> %L::eql_v2_encrypted', term), + format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e''::text <> %L::eql_v2_encrypted', term), 2); -- -- Check the $.hello path -- -- Returned encrypted does not have ore_cllw_u64_8 PERFORM assert_result( format('eql_v2_encrypted <> eql_v2_encrypted with ore index term'), - format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784'' <> %L::eql_v2_encrypted', term)); + format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784''::text <> %L::eql_v2_encrypted', term)); END; $$ LANGUAGE plpgsql; diff --git a/src/operators/<>_ore_cllw_var_8_test.sql b/src/operators/<>_ore_cllw_var_8_test.sql index 02f8aef..13d3b65 100644 --- a/src/operators/<>_ore_cllw_var_8_test.sql +++ b/src/operators/<>_ore_cllw_var_8_test.sql @@ -30,23 +30,23 @@ DECLARE -- json n: 10 sv := get_numeric_ste_vec_10()::eql_v2_encrypted; -- extract the term at $.n returned as eql_v2_encrypted - term := sv->'a7cea93975ed8c01f861ccb6bd082784'; + term := sv->'a7cea93975ed8c01f861ccb6bd082784'::text; -- -- -- -- $.n PERFORM assert_result( format('eql_v2_encrypted <> eql_v2_encrypted with ore_cllw_var_8 index term'), - format('SELECT e FROM encrypted WHERE (e->''a7cea93975ed8c01f861ccb6bd082784'') <> %L::eql_v2_encrypted', term)); + format('SELECT e FROM encrypted WHERE (e->''a7cea93975ed8c01f861ccb6bd082784''::text) <> %L::eql_v2_encrypted', term)); PERFORM assert_count( format('eql_v2_encrypted <> eql_v2_encrypted with ore_cllw_var_8 index term'), - format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784'' <> %L::eql_v2_encrypted', term), + format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784''::text <> %L::eql_v2_encrypted', term), 2); -- -- Check the $.n path -- -- Returned encrypted does not have ore_cllw_var_8 PERFORM assert_result( format('eql_v2_encrypted <> eql_v2_encrypted with ore_cllw_var_8 index term'), - format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e'' <> %L::eql_v2_encrypted', term)); + format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e''::text <> %L::eql_v2_encrypted', term)); END; $$ LANGUAGE plpgsql; diff --git a/src/operators/<@_test.sql b/src/operators/<@_test.sql index 4eea036..0f50009 100644 --- a/src/operators/<@_test.sql +++ b/src/operators/<@_test.sql @@ -25,7 +25,7 @@ DECLARE -- This extracts the data associated with the field from the test eql_v2_encrypted sv := get_numeric_ste_vec_10()::eql_v2_encrypted; -- extract the term at $.n returned as eql_v2_encrypted - term := sv->'a7cea93975ed8c01f861ccb6bd082784'; + term := sv->'a7cea93975ed8c01f861ccb6bd082784'::text; -- -- -- -- $.n PERFORM assert_result( diff --git a/src/operators/<_test.sql b/src/operators/<_test.sql index 232d686..d04f9d8 100644 --- a/src/operators/<_test.sql +++ b/src/operators/<_test.sql @@ -27,23 +27,23 @@ DECLARE -- json n: 30 sv := get_numeric_ste_vec_30()::eql_v2_encrypted; -- extract the term at $.n returned as eql_v2_encrypted - term := sv->'2517068c0d1f9d4d41d2c666211f785e'; + term := sv->'2517068c0d1f9d4d41d2c666211f785e'::text; -- -- -- -- $.n PERFORM assert_result( format('eql_v2_encrypted < eql_v2_encrypted with ore_cllw_u64_8 index term'), - format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e'' < %L::eql_v2_encrypted', term)); + format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e''::text < %L::eql_v2_encrypted', term)); PERFORM assert_count( format('eql_v2_encrypted < eql_v2_encrypted with ore index term'), - format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e'' < %L::eql_v2_encrypted', term), + format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e''::text < %L::eql_v2_encrypted', term), 2); -- -- Check the $.hello path -- -- Returned encrypted does not have ore_cllw_u64_8 PERFORM assert_no_result( format('eql_v2_encrypted < eql_v2_encrypted with ore index term'), - format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784'' < %L::eql_v2_encrypted', term)); + format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784''::text < %L::eql_v2_encrypted', term)); END; $$ LANGUAGE plpgsql; @@ -71,23 +71,23 @@ DECLARE -- This extracts the data associated with the field from the test eql_v2_encrypted sv := get_numeric_ste_vec_30()::eql_v2_encrypted; -- extract the term at $.n returned as eql_v2_encrypted - term := sv->'a7cea93975ed8c01f861ccb6bd082784'; + term := sv->'a7cea93975ed8c01f861ccb6bd082784'::text; -- -- -- -- $.n PERFORM assert_result( format('eql_v2_encrypted < eql_v2_encrypted with ore_cllw_var_8 index term'), - format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784'' < %L::eql_v2_encrypted', term)); + format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784''::text < %L::eql_v2_encrypted', term)); PERFORM assert_count( format('eql_v2_encrypted < eql_v2_encrypted with ore_cllw_var_8 index term'), - format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784'' < %L::eql_v2_encrypted', term), + format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784''::text < %L::eql_v2_encrypted', term), 1); -- -- Check the $.n path -- -- Returned encrypted does not have ore_cllw_var_8 PERFORM assert_no_result( format('eql_v2_encrypted < eql_v2_encrypted with ore_cllw_var_8 index term'), - format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e'' < %L::eql_v2_encrypted', term)); + format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e''::text < %L::eql_v2_encrypted', term)); END; $$ LANGUAGE plpgsql; diff --git a/src/operators/=_ore_cllw_u64_8_test.sql b/src/operators/=_ore_cllw_u64_8_test.sql index f061795..6498214 100644 --- a/src/operators/=_ore_cllw_u64_8_test.sql +++ b/src/operators/=_ore_cllw_u64_8_test.sql @@ -30,23 +30,23 @@ DECLARE -- json n: 10 sv := get_numeric_ste_vec_10()::eql_v2_encrypted; -- extract the term at $.n returned as eql_v2_encrypted - term := sv->'2517068c0d1f9d4d41d2c666211f785e'; + term := sv->'2517068c0d1f9d4d41d2c666211f785e'::text; -- -- -- -- $.n PERFORM assert_result( format('eql_v2_encrypted = eql_v2_encrypted with ore_cllw_u64_8 index term'), - format('SELECT e FROM encrypted WHERE (e->''2517068c0d1f9d4d41d2c666211f785e'') = %L::eql_v2_encrypted', term)); + format('SELECT e FROM encrypted WHERE (e->''2517068c0d1f9d4d41d2c666211f785e''::text) = %L::eql_v2_encrypted', term)); PERFORM assert_count( format('eql_v2_encrypted = eql_v2_encrypted with ore index term'), - format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e'' = %L::eql_v2_encrypted', term), + format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e''::text = %L::eql_v2_encrypted', term), 1); -- -- Check the $.hello path -- -- Returned encrypted does not have ore_cllw_u64_8 PERFORM assert_no_result( format('eql_v2_encrypted = eql_v2_encrypted with ore index term'), - format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784'' = %L::eql_v2_encrypted', term)); + format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784''::text = %L::eql_v2_encrypted', term)); END; $$ LANGUAGE plpgsql; diff --git a/src/operators/=_ore_cllw_var_8_test.sql b/src/operators/=_ore_cllw_var_8_test.sql index 9cbe195..1eb7ee8 100644 --- a/src/operators/=_ore_cllw_var_8_test.sql +++ b/src/operators/=_ore_cllw_var_8_test.sql @@ -27,23 +27,23 @@ DECLARE -- json n: 10 sv := get_numeric_ste_vec_10()::eql_v2_encrypted; -- extract the term at $.n returned as eql_v2_encrypted - term := sv->'a7cea93975ed8c01f861ccb6bd082784'; + term := sv->'a7cea93975ed8c01f861ccb6bd082784'::text; -- -- -- -- $.n PERFORM assert_result( format('eql_v2_encrypted = eql_v2_encrypted with ore_cllw_u64_8 index term'), - format('SELECT e FROM encrypted WHERE (e->''a7cea93975ed8c01f861ccb6bd082784'') = %L::eql_v2_encrypted', term)); + format('SELECT e FROM encrypted WHERE (e->''a7cea93975ed8c01f861ccb6bd082784''::text) = %L::eql_v2_encrypted', term)); PERFORM assert_count( format('eql_v2_encrypted = eql_v2_encrypted with ore index term'), - format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784'' = %L::eql_v2_encrypted', term), + format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784''::text = %L::eql_v2_encrypted', term), 1); -- -- Check the $.n path -- -- Returned encrypted does not have ore_cllw_u64_8 PERFORM assert_no_result( format('eql_v2_encrypted = eql_v2_encrypted with ore index term'), - format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e'' = %L::eql_v2_encrypted', term)); + format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e''::text = %L::eql_v2_encrypted', term)); END; $$ LANGUAGE plpgsql; diff --git a/src/operators/>=_test.sql b/src/operators/>=_test.sql index 93cc969..7fbb78e 100644 --- a/src/operators/>=_test.sql +++ b/src/operators/>=_test.sql @@ -27,23 +27,23 @@ DECLARE -- json n: 30 sv := get_numeric_ste_vec_10()::eql_v2_encrypted; -- extract the term at $.n returned as eql_v2_encrypted - term := sv->'2517068c0d1f9d4d41d2c666211f785e'; + term := sv->'2517068c0d1f9d4d41d2c666211f785e'::text; -- -- -- -- $.n PERFORM assert_result( format('eql_v2_encrypted >= eql_v2_encrypted with ore_cllw_u64_8 index term'), - format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e'' >= %L::eql_v2_encrypted', term)); + format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e''::text >= %L::eql_v2_encrypted', term)); PERFORM assert_count( format('eql_v2_encrypted >= eql_v2_encrypted with ore index term'), - format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e'' >= %L::eql_v2_encrypted', term), + format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e''::text >= %L::eql_v2_encrypted', term), 3); -- -- Check the $.hello path -- -- Returned encrypted does not have ore_cllw_u64_8 PERFORM assert_no_result( format('eql_v2_encrypted >= eql_v2_encrypted with ore index term'), - format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784'' >= %L::eql_v2_encrypted', term)); + format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784''::text >= %L::eql_v2_encrypted', term)); END; $$ LANGUAGE plpgsql; @@ -72,23 +72,23 @@ DECLARE -- json n: 30 sv := get_numeric_ste_vec_10()::eql_v2_encrypted; -- extract the term at $.n returned as eql_v2_encrypted - term := sv->'a7cea93975ed8c01f861ccb6bd082784'; + term := sv->'a7cea93975ed8c01f861ccb6bd082784'::text; -- -- -- -- $.n PERFORM assert_result( format('eql_v2_encrypted >= eql_v2_encrypted with ore_cllw_u64_8 index term'), - format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784'' >= %L::eql_v2_encrypted', term)); + format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784''::text >= %L::eql_v2_encrypted', term)); PERFORM assert_count( format('eql_v2_encrypted >= eql_v2_encrypted with ore index term'), - format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784'' >= %L::eql_v2_encrypted', term), + format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784''::text >= %L::eql_v2_encrypted', term), 3); -- -- Check the $.hello path -- -- Returned encrypted does not have ore_cllw_u64_8 PERFORM assert_no_result( format('eql_v2_encrypted >= eql_v2_encrypted with ore index term'), - format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e'' >= %L::eql_v2_encrypted', term)); + format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e''::text >= %L::eql_v2_encrypted', term)); END; $$ LANGUAGE plpgsql; diff --git a/src/operators/>_test.sql b/src/operators/>_test.sql index 67aaa45..f1a4385 100644 --- a/src/operators/>_test.sql +++ b/src/operators/>_test.sql @@ -27,23 +27,23 @@ DECLARE -- json n: 30 sv := get_numeric_ste_vec_20()::eql_v2_encrypted; -- extract the term at $.n returned as eql_v2_encrypted - term := sv->'2517068c0d1f9d4d41d2c666211f785e'; + term := sv->'2517068c0d1f9d4d41d2c666211f785e'::text; -- -- -- -- $.n PERFORM assert_result( format('eql_v2_encrypted > eql_v2_encrypted with ore_cllw_u64_8 index term'), - format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e'' > %L::eql_v2_encrypted', term)); + format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e''::text > %L::eql_v2_encrypted', term)); PERFORM assert_count( format('eql_v2_encrypted > eql_v2_encrypted with ore index term'), - format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e'' > %L::eql_v2_encrypted', term), + format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e''::text > %L::eql_v2_encrypted', term), 1); -- -- Check the $.hello path -- -- Returned encrypted does not have ore_cllw_u64_8 PERFORM assert_no_result( format('eql_v2_encrypted > eql_v2_encrypted with ore index term'), - format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784'' > %L::eql_v2_encrypted', term)); + format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784''::text > %L::eql_v2_encrypted', term)); END; $$ LANGUAGE plpgsql; @@ -72,23 +72,23 @@ DECLARE -- json n: 30 sv := get_numeric_ste_vec_30()::eql_v2_encrypted; -- extract the term at $.n returned as eql_v2_encrypted - term := sv->'a7cea93975ed8c01f861ccb6bd082784'; + term := sv->'a7cea93975ed8c01f861ccb6bd082784'::text; -- -- -- -- $.n PERFORM assert_result( format('eql_v2_encrypted > eql_v2_encrypted with ore_cllw_u64_8 index term'), - format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784'' > %L::eql_v2_encrypted', term)); + format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784''::text > %L::eql_v2_encrypted', term)); PERFORM assert_count( format('eql_v2_encrypted > eql_v2_encrypted with ore index term'), - format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784'' > %L::eql_v2_encrypted', term), + format('SELECT e FROM encrypted WHERE e->''a7cea93975ed8c01f861ccb6bd082784''::text > %L::eql_v2_encrypted', term), 1); -- -- Check the $.hello path -- -- Returned encrypted does not have ore_cllw_var_8 PERFORM assert_no_result( format('eql_v2_encrypted > eql_v2_encrypted with ore index term'), - format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e'' > %L::eql_v2_encrypted', term)); + format('SELECT e FROM encrypted WHERE e->''2517068c0d1f9d4d41d2c666211f785e''::text > %L::eql_v2_encrypted', term)); END; $$ LANGUAGE plpgsql; diff --git a/src/operators/@>_test.sql b/src/operators/@>_test.sql index 9baadf8..82494fe 100644 --- a/src/operators/@>_test.sql +++ b/src/operators/@>_test.sql @@ -42,7 +42,7 @@ DO $$ b := get_numeric_ste_vec_10()::eql_v2_encrypted; -- $.n - term := b->'2517068c0d1f9d4d41d2c666211f785e'; + term := b->'2517068c0d1f9d4d41d2c666211f785e'::text; ASSERT a @> term; @@ -74,7 +74,7 @@ DECLARE -- This extracts the data associated with the field from the test eql_v2_encrypted sv := get_numeric_ste_vec_10()::eql_v2_encrypted; -- extract the term at $.n returned as eql_v2_encrypted - term := sv->'a7cea93975ed8c01f861ccb6bd082784'; + term := sv->'a7cea93975ed8c01f861ccb6bd082784'::text; -- -- -- -- $.n PERFORM assert_result( diff --git a/src/ore_cllw_u64_8/operators_test.sql b/src/ore_cllw_u64_8/operators_test.sql index a00cde6..e90833e 100644 --- a/src/ore_cllw_u64_8/operators_test.sql +++ b/src/ore_cllw_u64_8/operators_test.sql @@ -26,25 +26,25 @@ DECLARE -- json n: 20 sv := get_numeric_ste_vec_20()::eql_v2_encrypted; -- extract the term at $.n - term := sv->'2517068c0d1f9d4d41d2c666211f785e'; + term := sv->'2517068c0d1f9d4d41d2c666211f785e'::text; PERFORM eql_v2.log('term', term::text); -- -- -- -- $.n PERFORM assert_result( format('eql_v2_encrypted < eql_v2_encrypted with ore_cllw_u64_8 index term'), - format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_u64_8(e->''2517068c0d1f9d4d41d2c666211f785e'') < eql_v2.ore_cllw_u64_8(%L::eql_v2_encrypted)', term)); + format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_u64_8(e->''2517068c0d1f9d4d41d2c666211f785e''::text) < eql_v2.ore_cllw_u64_8(%L::eql_v2_encrypted)', term)); PERFORM assert_count( format('eql_v2_encrypted < eql_v2_encrypted with ore index term'), - format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_u64_8(e->''2517068c0d1f9d4d41d2c666211f785e'') < eql_v2.ore_cllw_u64_8(%L::eql_v2_encrypted)', term), + format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_u64_8(e->''2517068c0d1f9d4d41d2c666211f785e''::text) < eql_v2.ore_cllw_u64_8(%L::eql_v2_encrypted)', term), 1); -- Check the $.hello path -- Returned encrypted does not have ore_cllw_u64_8 PERFORM assert_exception( format('eql_v2_encrypted < eql_v2_encrypted with ore index term'), - format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_u64_8(e->''a7cea93975ed8c01f861ccb6bd082784'') < eql_v2.ore_cllw_u64_8(%L::eql_v2_encrypted)', term)); + format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_u64_8(e->''a7cea93975ed8c01f861ccb6bd082784''::text) < eql_v2.ore_cllw_u64_8(%L::eql_v2_encrypted)', term)); END; $$ LANGUAGE plpgsql; @@ -75,23 +75,23 @@ DECLARE sv := get_numeric_ste_vec_20()::eql_v2_encrypted; -- extract the term at $.n - term := sv->'2517068c0d1f9d4d41d2c666211f785e'; + term := sv->'2517068c0d1f9d4d41d2c666211f785e'::text; -- -- -- -- $.n PERFORM assert_result( format('eql_v2_encrypted <= eql_v2_encrypted with ore_cllw_u64_8 index term'), - format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_u64_8(e->''2517068c0d1f9d4d41d2c666211f785e'') <= eql_v2.ore_cllw_u64_8(%L::eql_v2_encrypted)', term)); + format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_u64_8(e->''2517068c0d1f9d4d41d2c666211f785e''::text) <= eql_v2.ore_cllw_u64_8(%L::eql_v2_encrypted)', term)); PERFORM assert_count( format('eql_v2_encrypted <= eql_v2_encrypted with ore index term'), - format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_u64_8(e->''2517068c0d1f9d4d41d2c666211f785e'') <= eql_v2.ore_cllw_u64_8(%L::eql_v2_encrypted)', term), + format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_u64_8(e->''2517068c0d1f9d4d41d2c666211f785e''::text) <= eql_v2.ore_cllw_u64_8(%L::eql_v2_encrypted)', term), 2); -- Check the $.hello path -- Returned encrypted does not have ore_cllw_u64_8 PERFORM assert_exception( format('eql_v2_encrypted <= eql_v2_encrypted with ore index term'), - format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_u64_8(e->''a7cea93975ed8c01f861ccb6bd082784'') <= eql_v2.ore_cllw_u64_8(%L::eql_v2_encrypted)', term)); + format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_u64_8(e->''a7cea93975ed8c01f861ccb6bd082784''::text) <= eql_v2.ore_cllw_u64_8(%L::eql_v2_encrypted)', term)); END; $$ LANGUAGE plpgsql; @@ -121,23 +121,23 @@ DECLARE sv := get_numeric_ste_vec_30()::eql_v2_encrypted; -- extract the term at $.n - term := sv->'2517068c0d1f9d4d41d2c666211f785e'; + term := sv->'2517068c0d1f9d4d41d2c666211f785e'::text; -- -- -- -- $.n PERFORM assert_result( format('eql_v2_encrypted >= eql_v2_encrypted with ore_cllw_u64_8 index term'), - format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_u64_8(e->''2517068c0d1f9d4d41d2c666211f785e'') >= eql_v2.ore_cllw_u64_8(%L::eql_v2_encrypted)', term)); + format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_u64_8(e->''2517068c0d1f9d4d41d2c666211f785e''::text) >= eql_v2.ore_cllw_u64_8(%L::eql_v2_encrypted)', term)); PERFORM assert_count( format('eql_v2_encrypted >= eql_v2_encrypted with ore index term'), - format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_u64_8(e->''2517068c0d1f9d4d41d2c666211f785e'') >= eql_v2.ore_cllw_u64_8(%L::eql_v2_encrypted)', term), + format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_u64_8(e->''2517068c0d1f9d4d41d2c666211f785e''::text) >= eql_v2.ore_cllw_u64_8(%L::eql_v2_encrypted)', term), 1); -- Check the $ path -- Returned encrypted does not have ore_cllw_u64_8 PERFORM assert_exception( format('eql_v2_encrypted >= eql_v2_encrypted with ore index term'), - format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_u64_8(e->''bca213de9ccce676fa849ff9c4807963'') >= eql_v2.ore_cllw_u64_8(%L::eql_v2_encrypted)', term)); + format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_u64_8(e->''bca213de9ccce676fa849ff9c4807963''::text) >= eql_v2.ore_cllw_u64_8(%L::eql_v2_encrypted)', term)); END; $$ LANGUAGE plpgsql; @@ -167,23 +167,23 @@ DECLARE sv := get_numeric_ste_vec_20()::eql_v2_encrypted; -- extract the term at $.n - term := sv->'2517068c0d1f9d4d41d2c666211f785e'; + term := sv->'2517068c0d1f9d4d41d2c666211f785e'::text; -- -- -- -- $.n PERFORM assert_result( format('eql_v2_encrypted > eql_v2_encrypted with ore_cllw_u64_8 index term'), - format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_u64_8(e->''2517068c0d1f9d4d41d2c666211f785e'') > eql_v2.ore_cllw_u64_8(%L::eql_v2_encrypted)', term)); + format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_u64_8(e->''2517068c0d1f9d4d41d2c666211f785e''::text) > eql_v2.ore_cllw_u64_8(%L::eql_v2_encrypted)', term)); PERFORM assert_count( format('eql_v2_encrypted > eql_v2_encrypted with ore index term'), - format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_u64_8(e->''2517068c0d1f9d4d41d2c666211f785e'') > eql_v2.ore_cllw_u64_8(%L::eql_v2_encrypted)', term), + format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_u64_8(e->''2517068c0d1f9d4d41d2c666211f785e''::text) > eql_v2.ore_cllw_u64_8(%L::eql_v2_encrypted)', term), 1); -- Check the $ path -- Returned encrypted does not have ore_cllw_u64_8 PERFORM assert_exception( format('eql_v2_encrypted > eql_v2_encrypted with ore index term'), - format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_u64_8(e->''bca213de9ccce676fa849ff9c4807963'') > eql_v2.ore_cllw_u64_8(%L::eql_v2_encrypted)', term)); + format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_u64_8(e->''bca213de9ccce676fa849ff9c4807963''::text) > eql_v2.ore_cllw_u64_8(%L::eql_v2_encrypted)', term)); END; $$ LANGUAGE plpgsql; @@ -213,22 +213,22 @@ DECLARE -- json n: 20 sv := get_numeric_ste_vec_10()::eql_v2_encrypted; -- extract the term at $.n - term := sv->'2517068c0d1f9d4d41d2c666211f785e'; + term := sv->'2517068c0d1f9d4d41d2c666211f785e'::text; PERFORM assert_result( format('eql_v2_encrypted = eql_v2_encrypted with ore_cllw_u64_8 index term'), - format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_u64_8(e->''2517068c0d1f9d4d41d2c666211f785e'') = eql_v2.ore_cllw_u64_8(%L::eql_v2_encrypted)', term)); + format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_u64_8(e->''2517068c0d1f9d4d41d2c666211f785e''::text) = eql_v2.ore_cllw_u64_8(%L::eql_v2_encrypted)', term)); PERFORM assert_count( format('eql_v2_encrypted = eql_v2_encrypted with ore_cllw_u64_8 index term'), - format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_u64_8(e->''2517068c0d1f9d4d41d2c666211f785e'') = eql_v2.ore_cllw_u64_8(%L::eql_v2_encrypted)', term), + format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_u64_8(e->''2517068c0d1f9d4d41d2c666211f785e''::text) = eql_v2.ore_cllw_u64_8(%L::eql_v2_encrypted)', term), 1); -- Check the $.n path -- Returned encrypted does not have ore_cllw_u64_8 and raises exception PERFORM assert_exception( format('eql_v2_encrypted = eql_v2_encrypted with ore_cllw_u64_8 index term'), - format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_u64_8(e->''a7cea93975ed8c01f861ccb6bd082784'') = eql_v2.ore_cllw_u64_8(%L::eql_v2_encrypted)', term)); + format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_u64_8(e->''a7cea93975ed8c01f861ccb6bd082784''::text) = eql_v2.ore_cllw_u64_8(%L::eql_v2_encrypted)', term)); END; $$ LANGUAGE plpgsql; diff --git a/src/ore_cllw_var_8/operators_test.sql b/src/ore_cllw_var_8/operators_test.sql index 197c9cd..b9b38d8 100644 --- a/src/ore_cllw_var_8/operators_test.sql +++ b/src/ore_cllw_var_8/operators_test.sql @@ -27,24 +27,24 @@ DECLARE sv := get_numeric_ste_vec_20()::eql_v2_encrypted; -- extract the term at $.n - term := sv->'a7cea93975ed8c01f861ccb6bd082784'; + term := sv->'a7cea93975ed8c01f861ccb6bd082784'::text; -- -- -- -- $.n PERFORM assert_result( format('eql_v2_encrypted < eql_v2_encrypted with ore_cllw_var_8 index term'), - format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_var_8(e->''a7cea93975ed8c01f861ccb6bd082784'') < eql_v2.ore_cllw_var_8(%L::eql_v2_encrypted)', term)); + format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_var_8(e->''a7cea93975ed8c01f861ccb6bd082784''::text) < eql_v2.ore_cllw_var_8(%L::eql_v2_encrypted)', term)); -- other values are "one" and "three" PERFORM assert_count( format('eql_v2_encrypted < eql_v2_encrypted with ore_cllw_var_8 index term'), - format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_var_8(e->''a7cea93975ed8c01f861ccb6bd082784'') < eql_v2.ore_cllw_var_8(%L::eql_v2_encrypted)', term), + format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_var_8(e->''a7cea93975ed8c01f861ccb6bd082784''::text) < eql_v2.ore_cllw_var_8(%L::eql_v2_encrypted)', term), 2); -- Check the $.n path -- Returned encrypted does not have ore_cllw_var_8 and raises an exception PERFORM assert_exception( format('eql_v2_encrypted < eql_v2_encrypted with ore_cllw_var_8 index term'), - format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_var_8(e->''2517068c0d1f9d4d41d2c666211f785e'') < eql_v2.ore_cllw_var_8(%L::eql_v2_encrypted)', term)); + format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_var_8(e->''2517068c0d1f9d4d41d2c666211f785e''::text) < eql_v2.ore_cllw_var_8(%L::eql_v2_encrypted)', term)); END; $$ LANGUAGE plpgsql; @@ -75,23 +75,23 @@ DECLARE sv := get_numeric_ste_vec_20()::eql_v2_encrypted; -- extract the term at $.n - term := sv->'a7cea93975ed8c01f861ccb6bd082784'; + term := sv->'a7cea93975ed8c01f861ccb6bd082784'::text; -- -- -- -- $.n PERFORM assert_result( format('eql_v2_encrypted <= eql_v2_encrypted with ore_cllw_var_8 index term'), - format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_var_8(e->''a7cea93975ed8c01f861ccb6bd082784'') <= eql_v2.ore_cllw_var_8(%L::eql_v2_encrypted)', term)); + format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_var_8(e->''a7cea93975ed8c01f861ccb6bd082784''::text) <= eql_v2.ore_cllw_var_8(%L::eql_v2_encrypted)', term)); PERFORM assert_count( format('eql_v2_encrypted <= eql_v2_encrypted with ore_cllw_var_8 index term'), - format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_var_8(e->''a7cea93975ed8c01f861ccb6bd082784'') <= eql_v2.ore_cllw_var_8(%L::eql_v2_encrypted)', term), + format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_var_8(e->''a7cea93975ed8c01f861ccb6bd082784''::text) <= eql_v2.ore_cllw_var_8(%L::eql_v2_encrypted)', term), 3); -- Check the $.hello path -- Returned encrypted does not have ore_cllw_var_8 PERFORM assert_exception( format('eql_v2_encrypted <= eql_v2_encrypted with ore_cllw_var_8 index term'), - format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_var_8(e->''2517068c0d1f9d4d41d2c666211f785e'') <= eql_v2.ore_cllw_var_8(%L::eql_v2_encrypted)', term)); + format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_var_8(e->''2517068c0d1f9d4d41d2c666211f785e''::text) <= eql_v2.ore_cllw_var_8(%L::eql_v2_encrypted)', term)); END; $$ LANGUAGE plpgsql; @@ -121,23 +121,23 @@ DECLARE sv := get_numeric_ste_vec_30()::eql_v2_encrypted; -- extract the term at $.n - term := sv->'a7cea93975ed8c01f861ccb6bd082784'; + term := sv->'a7cea93975ed8c01f861ccb6bd082784'::text; -- -- -- -- $.n PERFORM assert_result( format('eql_v2_encrypted >= eql_v2_encrypted with ore_cllw_var_8 index term'), - format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_var_8(e->''a7cea93975ed8c01f861ccb6bd082784'') >= eql_v2.ore_cllw_var_8(%L::eql_v2_encrypted)', term)); + format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_var_8(e->''a7cea93975ed8c01f861ccb6bd082784''::text) >= eql_v2.ore_cllw_var_8(%L::eql_v2_encrypted)', term)); PERFORM assert_count( format('eql_v2_encrypted >= eql_v2_encrypted with ore_cllw_var_8 index term'), - format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_var_8(e->''a7cea93975ed8c01f861ccb6bd082784'') >= eql_v2.ore_cllw_var_8(%L::eql_v2_encrypted)', term), + format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_var_8(e->''a7cea93975ed8c01f861ccb6bd082784''::text) >= eql_v2.ore_cllw_var_8(%L::eql_v2_encrypted)', term), 2); -- Check the $ path -- Returned encrypted does not have ore_cllw_var_8 PERFORM assert_exception( format('eql_v2_encrypted >= eql_v2_encrypted with ore_cllw_var_8 index term'), - format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_var_8(e->''bca213de9ccce676fa849ff9c4807963'') >= eql_v2.ore_cllw_var_8(%L::eql_v2_encrypted)', term)); + format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_var_8(e->''bca213de9ccce676fa849ff9c4807963''::text) >= eql_v2.ore_cllw_var_8(%L::eql_v2_encrypted)', term)); END; $$ LANGUAGE plpgsql; @@ -167,23 +167,23 @@ DECLARE sv := get_numeric_ste_vec_10()::eql_v2_encrypted; -- extract the term at $.n - term := sv->'a7cea93975ed8c01f861ccb6bd082784'; + term := sv->'a7cea93975ed8c01f861ccb6bd082784'::text; -- -- -- -- $.n PERFORM assert_result( format('eql_v2_encrypted > eql_v2_encrypted with ore_cllw_var_8 index term'), - format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_var_8(e->''a7cea93975ed8c01f861ccb6bd082784'') > eql_v2.ore_cllw_var_8(%L::eql_v2_encrypted)', term)); + format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_var_8(e->''a7cea93975ed8c01f861ccb6bd082784''::text) > eql_v2.ore_cllw_var_8(%L::eql_v2_encrypted)', term)); PERFORM assert_count( format('eql_v2_encrypted > eql_v2_encrypted with ore_cllw_var_8 index term'), - format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_var_8(e->''a7cea93975ed8c01f861ccb6bd082784'') > eql_v2.ore_cllw_var_8(%L::eql_v2_encrypted)', term), + format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_var_8(e->''a7cea93975ed8c01f861ccb6bd082784''::text) > eql_v2.ore_cllw_var_8(%L::eql_v2_encrypted)', term), 2); -- Check the $ path -- Returned encrypted does not have ore_cllw_var_8 PERFORM assert_exception( format('eql_v2_encrypted > eql_v2_encrypted with ore_cllw_var_8 index term'), - format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_var_8(e->''bca213de9ccce676fa849ff9c4807963'') > eql_v2.ore_cllw_var_8(%L::eql_v2_encrypted)', term)); + format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_var_8(e->''bca213de9ccce676fa849ff9c4807963''::text) > eql_v2.ore_cllw_var_8(%L::eql_v2_encrypted)', term)); END; $$ LANGUAGE plpgsql; @@ -213,22 +213,22 @@ DECLARE -- json n: 20 sv := get_numeric_ste_vec_10()::eql_v2_encrypted; -- extract the term at $.n - term := sv->'a7cea93975ed8c01f861ccb6bd082784'; + term := sv->'a7cea93975ed8c01f861ccb6bd082784'::text; PERFORM assert_result( format('eql_v2_encrypted = eql_v2_encrypted with ore_cllw_var_8 index term'), - format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_var_8(e->''a7cea93975ed8c01f861ccb6bd082784'') = eql_v2.ore_cllw_var_8(%L::eql_v2_encrypted)', term)); + format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_var_8(e->''a7cea93975ed8c01f861ccb6bd082784''::text) = eql_v2.ore_cllw_var_8(%L::eql_v2_encrypted)', term)); PERFORM assert_count( format('eql_v2_encrypted = eql_v2_encrypted with ore_cllw_var_8 index term'), - format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_var_8(e->''a7cea93975ed8c01f861ccb6bd082784'') = eql_v2.ore_cllw_var_8(%L::eql_v2_encrypted)', term), + format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_var_8(e->''a7cea93975ed8c01f861ccb6bd082784''::text) = eql_v2.ore_cllw_var_8(%L::eql_v2_encrypted)', term), 1); -- Check the $.n path -- Returned encrypted does not have ore_cllw_var_8 and raises exception PERFORM assert_exception( format('eql_v2_encrypted = eql_v2_encrypted with ore_cllw_var_8 index term'), - format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_var_8(e->''2517068c0d1f9d4d41d2c666211f785e'') = eql_v2.ore_cllw_var_8(%L::eql_v2_encrypted)', term)); + format('SELECT e FROM encrypted WHERE eql_v2.ore_cllw_var_8(e->''2517068c0d1f9d4d41d2c666211f785e''::text) = eql_v2.ore_cllw_var_8(%L::eql_v2_encrypted)', term)); END; $$ LANGUAGE plpgsql; diff --git a/src/ste_vec/functions_test.sql b/src/ste_vec/functions_test.sql index 5f1f92b..20ba634 100644 --- a/src/ste_vec/functions_test.sql +++ b/src/ste_vec/functions_test.sql @@ -82,7 +82,8 @@ DO $$ b := get_numeric_ste_vec_10()::eql_v2_encrypted; -- $.n - term := b->'2517068c0d1f9d4d41d2c666211f785e'; + + term := b->('2517068c0d1f9d4d41d2c666211f785e'::text); ASSERT eql_v2.ste_vec_contains(a, term);