You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/reference/searchable-json.md
+19Lines changed: 19 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,7 @@ This document outlines the supported JSONB functions and operators in CipherStas
6
6
## Table of Contents
7
7
8
8
-[Setup](#setup)
9
+
-[Important Limtiations](#important-limitations)
9
10
-[Operators](#operators)
10
11
-[->](#field_access_operator)
11
12
-[->>](#field_access_as_text_operator)
@@ -59,6 +60,24 @@ Examples assume an encrypted JSON document with the following structure:
59
60
```
60
61
61
62
63
+
## Important Limitations
64
+
65
+
Encrypted literals cannot be passed as arguments to SQL functions. Encrypted columns can only be passed to SQL functions if the value has an encrypted search index that supports that specific function.
66
+
67
+
Examples:
68
+
-`AVG()` cannot be used on encrypted numeric values ❌
69
+
-`MIN()` and `MAX()` can be used on encrypted values with ORE index ✅
70
+
-`LOWER()` cannot be used on encrypted text (operates only on plaintext) ❌
71
+
72
+
⚠️ **CAST Operations**: CAST operations cannot work on encrypted data because casting would require decryption within the database, which is impossible. EQL's `ste_vec` configuration enables direct comparison and ordering operations on encrypted values without requiring CAST.
73
+
74
+
⚠️ **Chained Operators**: The `->` operator cannot be chained on `ste_vec` encrypted columns. Use JSONPath functions like `jsonb_path_query_first()` for deep nested access instead.
75
+
76
+
⚠️ **Array Access**: A selector path to an array field `$.array` will return the decrypted array as a json literal To access an encrypted array as an array of encrypted values (for use with functions like `jsonb_array_length`) requires the special EQL array element selector `[@]`. The selector is an extension of JSONPath and works similar to the standard wildcard `[*]` path. The wildcard selector follows the default PostgreSQL behaviour and will return the array elements as a setof encrypted values.
0 commit comments