@@ -37,12 +37,14 @@ These are the important files in the repo:
37
37
├── mise.toml <-- the main config file for mise
38
38
├── tasks/ <-- mise tasks
39
39
├── src/ <-- The individual SQL components that make up EQL
40
+ │ ├── blake3/ <-- blake3 index term type
40
41
│ ├── encrypted/ <-- Encrypted column type
41
42
│ ├── operators/ <-- Operators for the encrypted column type
42
43
│ ├── match/ <-- match index term type
43
44
│ ├── unique/ <-- unique index term type
44
45
│ ├── ore/ <-- ore index term type
45
- │ ├── ore-cllw/ <-- ore-cllw index term type
46
+ │ ├── ore_cllw_u64_8/ <-- ore-cllw fixed index term type
47
+ │ ├── ore_cllw_var_8/ <-- ore-cllw variable index term type
46
48
│ ├── config/ <-- Configuration management for encrypted columns
47
49
│ ├── schema.sql <-- Defines the PostgreSQL schema for namespacing EQL
48
50
│ ├── crypto.sql <-- Installs pg_crypto extension, required by ORE
@@ -316,8 +318,11 @@ Each type of encrypted index (`unique`, `match`, `ore`) has an associated type,
316
318
317
319
These are transient runtime types, used internally by EQL functions and operators:
318
320
321
+ - ` eql_v1.blake3 `
319
322
- ` eql_v1.unique_index `
320
323
- ` eql_v1.match `
324
+ - ` eql_v1.ore_cllw_u64_8 `
325
+ - ` eql_v1.ore_cllw_var_8 `
321
326
- ` eql_v1.ore_64_8_v1 `
322
327
- ` eql_v1.ore_64_8_v1_term `
323
328
@@ -338,10 +343,16 @@ Operators allow comparisons between:
338
343
- ` jsonb ` and ` eql_v1_encrypted `
339
344
- ` eql_v1_encrypted ` and ` jsonb `
340
345
341
- The index types and functions are internal implementation details and should not be exposed as operators on the ` eql_v1_encrypted ` type.
346
+ Operators defined on the ` eql_v1_encrypted ` dispatch to the underlying index terms based on the most efficient order of operations.
347
+
348
+ For example, it is possible to have both ` unique ` and ` ore ` indexes defined.
349
+ For equality (` = ` , ` <> ` ) operations, a ` unique ` index term is a text comparison and should be preferred over an ` ore ` index term.
350
+
351
+ The index term types and functions are internal implementation details and should not be exposed as operators on the ` eql_v1_encrypted ` type.
342
352
For example, ` eql_v1_encrypted ` should not have an operator with the ` ore_64_8_v1 ` type.
343
353
Users should never need to think about or interact with EQL internals.
344
354
355
+
345
356
#### Working without operators
346
357
347
358
There are scenarios where users are unable to install EQL operators in your database.
0 commit comments