File tree Expand file tree Collapse file tree 3 files changed +22
-4
lines changed Expand file tree Collapse file tree 3 files changed +22
-4
lines changed Original file line number Diff line number Diff line change 1818$$ LANGUAGE plpgsql;
1919
2020
21-
2221CREATE FUNCTION eql_v2 .ciphertext(val eql_v2_encrypted)
2322 RETURNS text
2423 IMMUTABLE STRICT PARALLEL SAFE
2928$$ LANGUAGE plpgsql;
3029
3130
32-
3331CREATE FUNCTION eql_v2 ._first_grouped_value(jsonb, jsonb)
3432RETURNS jsonb AS $$
3533 SELECT COALESCE($1 , $2 );
Original file line number Diff line number Diff line change @@ -246,17 +246,22 @@ CREATE FUNCTION eql_v2.jsonb_array_elements(val jsonb)
246246AS $$
247247 DECLARE
248248 sv eql_v2_encrypted[];
249- found eql_v2_encrypted[];
249+ meta jsonb;
250+ item jsonb;
250251 BEGIN
251252
252253 IF NOT eql_v2 .is_ste_vec_array (val) THEN
253254 RAISE ' cannot extract elements from non-array' ;
254255 END IF;
255256
257+ -- Column identifier and version
258+ meta := eql_v2 .meta_data (val);
259+
256260 sv := eql_v2 .ste_vec (val);
257261
258262 FOR idx IN 1 ..array_length(sv, 1 ) LOOP
259- RETURN NEXT sv[idx];
263+ item = sv[idx];
264+ RETURN NEXT (meta || item)::eql_v2_encrypted;
260265 END LOOP;
261266
262267 RETURN;
Original file line number Diff line number Diff line change @@ -208,6 +208,21 @@ $$ LANGUAGE plpgsql;
208208
209209
210210
211+ DO $$
212+ DECLARE
213+ result jsonb;
214+ BEGIN
215+ PERFORM seed_encrypted_json();
216+ PERFORM seed_encrypted(get_array_ste_vec()::eql_v2_encrypted);
217+
218+ SELECT eql_v2 .jsonb_array_elements (eql_v2 .jsonb_path_query (e, ' f510853730e1c3dbd31b86963f029dd5' )::jsonb) FROM encrypted INTO result;
219+
220+ ASSERT result ? ' i' ;
221+ ASSERT result ? ' v' ;
222+ END;
223+ $$ LANGUAGE plpgsql;
224+
225+
211226DO $$
212227 BEGIN
213228
You can’t perform that action at this time.
0 commit comments