File tree Expand file tree Collapse file tree 4 files changed +37
-3
lines changed Expand file tree Collapse file tree 4 files changed +37
-3
lines changed Original file line number Diff line number Diff line change 73
73
$$ LANGUAGE plpgsql;
74
74
75
75
76
+ CREATE FUNCTION eql_v2 .meta_data(val jsonb)
77
+ RETURNS jsonb
78
+ IMMUTABLE STRICT PARALLEL SAFE
79
+ AS $$
80
+ BEGIN
81
+ RETURN jsonb_build_object(
82
+ ' i' , val- > ' i' ,
83
+ ' v' , val- > ' v'
84
+ );
85
+ END;
86
+ $$ LANGUAGE plpgsql;
87
+
Original file line number Diff line number Diff line change @@ -30,13 +30,17 @@ AS $$
30
30
sv eql_v2_encrypted[];
31
31
found jsonb[];
32
32
e jsonb;
33
+ meta jsonb;
33
34
ary boolean ;
34
35
BEGIN
35
36
36
37
IF val IS NULL THEN
37
38
RETURN NEXT NULL ;
38
39
END IF;
39
40
41
+ -- Column identifier and version
42
+ meta := eql_v2 .meta_data (val);
43
+
40
44
sv := eql_v2 .ste_vec (val);
41
45
42
46
FOR idx IN 1 ..array_length(sv, 1 ) LOOP
@@ -55,13 +59,14 @@ AS $$
55
59
56
60
IF ary THEN
57
61
-- Wrap found array elements as eql_v2_encrypted
58
- RETURN NEXT jsonb_build_object(
62
+
63
+ RETURN NEXT (meta || jsonb_build_object(
59
64
' sv' , found,
60
65
' a' , 1
61
- )::eql_v2_encrypted;
66
+ )) ::eql_v2_encrypted;
62
67
63
68
ELSE
64
- RETURN NEXT found[1 ]::eql_v2_encrypted;
69
+ RETURN NEXT (meta || found[1 ]) ::eql_v2_encrypted;
65
70
END IF;
66
71
67
72
END IF;
Original file line number Diff line number Diff line change @@ -192,6 +192,22 @@ DO $$
192
192
$$ LANGUAGE plpgsql;
193
193
194
194
195
+ DO $$
196
+ DECLARE
197
+ result jsonb;
198
+ BEGIN
199
+ PERFORM seed_encrypted_json();
200
+
201
+ SELECT eql_v2 .jsonb_path_query (e, ' 2517068c0d1f9d4d41d2c666211f785e' )::jsonb FROM encrypted LIMIT 1 INTO result;
202
+
203
+ ASSERT result ? ' i' ;
204
+ ASSERT result ? ' v' ;
205
+
206
+ END;
207
+ $$ LANGUAGE plpgsql;
208
+
209
+
210
+
195
211
DO $$
196
212
BEGIN
197
213
Original file line number Diff line number Diff line change @@ -320,6 +320,7 @@ AS $$
320
320
"hm": "unique.%s",
321
321
"b3": "blake3.%s",
322
322
"bf": %s,
323
+
323
324
"v": 2
324
325
}' ,
325
326
random_key,
You can’t perform that action at this time.
0 commit comments